在我的网络编程项目中(在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();
}
对于上面提到的代码我正在接受编译错误,这没有意义,因为连接应该采用3个参数。
error C2660: 'SampleClass::connect' : function does not take 3 arguments
任何人都可以帮我弄清楚我在这里缺少什么。
答案 0 :(得分:3)
您正在尝试呼叫类成员连接。使用::前缀连接,以便找到正确的函数。
if (::connect(sockfd[0], &sock.addr, sizeof(sock.inaddr)) == SOCKET_ERROR){
答案 1 :(得分:0)
看起来您的类有自己的 connect
方法,请尝试调用::connect
,这应该会为您提供“标准”方法。