2013-04-23 79 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