C++ / Xcode套接字绑定(bind())错误

12
尝试处理从sys/sockets.h中的bind()返回的返回值(应该是int)时,Xcode编译失败并显示错误Invalid operands to binary expression ('__bind' and 'int')
似乎它拉取了bind()的不正确的函数定义,因为当我从上下文菜单中选择“跳转到定义”时,它会给我三个选项:来自functional.cpp的2个定义和来自sys/sockets.h的1个定义。我已经在我的代码中包含了sys/sockets.h,如何强制编译器使用正确的定义?

2
使用::bind,或者更好的方法是像瘟疫一样避免使用using声明。 - David Schwartz
1个回答

31

使用::bind或者去掉using namespace std;


1
没问题,你可能也想阅读一下《为什么在C++中使用命名空间std被认为是一种不好的做法?》(https://dev59.com/D3M_5IYBdhLWcg3wQQ3w) - Jesse Good
会的。离开C++已经10年了,所以有点生疏。 - Calteran
这刚刚修复了我整个项目的构建 :) 谢谢 - Scriptable
非常好的答案,谢谢! - Ahmet

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接