C++变量数组

Col*_*app 0 c++ sockets arrays variables buffer

我正在尝试编写一个处理极长消息的套接字系统(它处理聊天系统).我正在尝试使用const int来初始化一个数组,它可以编译,但我被警告有关ISO 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);
       }
Run Code Online (Sandbox Code Playgroud)

这是否可以接受,或者我应该坚持多次接收直到完成的方法?

谢谢,科林

ron*_*nag 5

 const int BUFFERLEN = atoi(api_GETVALUE(1,inbuffer).c_str()); //that is my API call
       if(BUFFERLEN != -1) { //it returns "-1" on error
          std::vector<char> INBUFFER(BUFFERLEN);
          recv(SOCK,INBUFFER.data(),INBUFFER.size(),0);
       }
Run Code Online (Sandbox Code Playgroud)