2012-08-09 113 views
0

在我的网络编程项目(Visual C++)中,我遇到了connect(...)api的一个问题。 connect()的代码段如下所示。套接字编程。连接问题(...)api

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(); 
} 

对于上面提到的代码我得到follwoing编译错误,这是没有道理的连接应采取3个参数。

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

任何人都可以帮助我找出我在这里失踪。

回答

3

您正试图调用类成员connect。将前缀连接到::以便找到正确的功能。

if (::connect(sockfd[0], &sock.addr, sizeof(sock.inaddr)) == SOCKET_ERROR){ 
+0

谢谢加里。它做到了。 – 2012-08-09 05:51:42

0

它看起来像你的阶级都有自己connect方法,尝试调用::connect相反,这应该给你的“标准”之一。