0

在我的网络编程项目中(在 Visual C++ 中),我面临一个 connect(...) api 的问题。connect() 的代码段如下。

if (connect(sockfd[0], &sock.addr, sizeof(sock.inaddr)) == SOCKET_ERROR){
    wprintf(L"connect function failed with error: %ld\n", WSAGetLastError());
    closesocket(sockfd[0]);
    WSACleanup();
}

对于上面提到的代码,我遇到了以下编译错误,这没有意义,因为 connect 应该需要 3 个 args。

error C2660: 'SampleClass::connect' : function does not take 3 arguments

谁能帮我弄清楚我在这里缺少什么。

4

2 回答 2

3

您正在尝试调用类成员连接。在连接前加上 :: 以便它找到正确的功能。

if (::connect(sockfd[0], &sock.addr, sizeof(sock.inaddr)) == SOCKET_ERROR){ 
于 2012-08-09T05:48:24.893 回答
0

看起来您的课程有自己的 connect方法,请尝试调用::connect,这应该会给您“标准”方法。

于 2012-08-09T05:49:33.550 回答