2013-04-23 41 views
5

當試圖從SYS處理返回值(應爲INT)/ sockets.h綁定()時,Xcode失敗,出現錯誤C++/Xcode的套接字綁定()錯誤

Invalid operands to binary expression ('__bind' and 'int')

它編譯似乎拉動了bind()的不正確函數定義,因爲當我從上下文菜單中選擇「跳轉到定義」時,它給了我三個選項:來自functional.cpp的2個定義和來自sys/sockets.h的1個定義。我的代碼中包含sys/sockets,如何強制編譯器使用正確的定義?

+1

使用':: bind',或者更好的辦法是避免使用像鼠疫這樣的聲明。 – 2013-04-23 22:38:24

回答

18

使用::bind或擺脫using namespace std;

+0

真棒,工作感謝! – Calteran 2013-04-23 22:39:43

+1

沒問題,你可能還想讀[爲什麼'使用namespace std;'在C++中被認爲是不好的做法?](http://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-a-bad-practice-in-c)。 – 2013-04-23 22:40:52

+0

會做。 10年後回到C++,非常生鏽。 – Calteran 2013-04-23 22:56:55