2009-11-27 37 views
0

之前,我有這個包括:問題有關,我應該有什麼連接

#include <sys/socket.h> /* for socket(), connect(), send(), and recv() */ 

/* Establish the connection to the echo server */ 
if (connect(sock, (struct sockaddr *) &echoServAddr, sizeof(echoServAddr)) < 0) 
    DieWithError("connect() failed"); 

但我得到這個:

TCPClient.cpp:395: error: no matching function for call to ‘ClientHandler::connect(int&, sockaddr*, unsigned int)’

事情是我還使用QT。

應無我有 「連接」 ... SOMETHING ::連接(....)

謝謝:)

+2

請顯示代碼。 – 2009-11-27 07:50:31

回答

2

我猜你有你自己的類ClientHandler的一個連接方法之前somethihng。爲避免混淆,請從全局名稱空間中調用連接:

::connect (sock, ... 
+0

啊,那麼 「::」做什麼呢? 我知道我以前做來清點 我曾經的std ::法院 但它到底意味着 – NeverAgain 2009-11-27 08:05:19

+0

@Nero使用方法:所有功能之外命名空間和類(一般都是C庫函數)是在全球名稱空間,即它們的完整限定名稱,如:: function_name。通常不需要使用「::」,除非您有一個本地(不是全局名稱空間)函數具有相同的名稱。 – catwalk 2009-11-27 08:21:37