2012-08-09 210 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相反,這應該給你的「標準」之一。