我正在尝试编写一个处理非常长的消息(它处理聊天系统)的套接字系统。我正在尝试使用const int来初始化一个数组,这个数组是可以编译的,但我被警告ISO C++禁止它。有人可以看到这种情况吗? (这是为了避免写一个字节剩余的多接收系统(我已经有了,但是我觉得这会更有效率))。下面是一个如何使用它的例子。C++变量数组
const int BUFFERLEN = atoi(api_GETVALUE(1,inbuffer).c_str()); //that is my API call
if(BUFFERLEN != -1) { //it returns "-1" on error
char INBUFFER[BUFFERLEN];
recv(SOCK,INBUFFER,sizeof(INBUFFER),0);
}
这样做可以接受吗?还是应该坚持使用multi-recieve-until-done方法?
谢谢, 科林
要么做多个较小的接收,要么动态分配缓冲区。 –