TCPSocket.h:35:错误:在数字常量之前预期','或'...'

时间:2011-04-12 21:09:16

标签: c++ linux c-preprocessor

我收到" TCPSocket.h:35:错误:预期','或者' ...'在数字常数之前"在编译我非常确定以前编译代码的时候。

第35行是TCPSocket(int port, bool vOutput, const int DIRECTORY_SIZE);

来自以下粘贴的类声明

using namespace std;

class TCPSocket 
{
public:
#define SEND_BUFFER_LENGTH 80
#define DIRECTORY_SIZE 8192

    struct sockaddr_in myAddress, clientAddress;

    TCPSocket(int port, bool vOutput, const int DIRECTORY_SIZE);

    void buildTCPSocket(int newPort);
    void processMessage(char* bufferIn, int currentTCPSocket, int tcpSocket, bool verboseOutput);

    int getSocket1();
    int getSocket2();

定义或构造函数定义是明显的错误吗?

编辑:好的,所以对于那些将来阅读多年的人来说,这里是更正的构造函数声明:

 TCPSocket(int port, bool vOutput);

然后,在构造函数定义中使用了定义的DIRECTORY_SIZE。

1 个答案:

答案 0 :(得分:7)

你不能这样做:

TCPSocket(int port, bool vOutput, const int DIRECTORY_SIZE);

因为它意味着

TCPSocket(int port, bool vOutput, const int 8192);

这不是合法的语法。我想你的意思是:

TCPSocket(int port, bool vOutput, const int nSize = DIRECTORY_SIZE);