C++ socket bind() 函数绑定错误
VS2015编译错误:
errorCxxxx: 'initializing' : cannot convert from 'std::_Bind<false,void,SOCKET&,sockaddr *,unsigned int>' to 'int'
现象:Socket编程中bind()函数出错
原因:c++ 11 ,在命名空间std中实现了bind函数,与socket编程里的bind函数冲突。
解决方法:
去掉本文件的命名空间usingnamespace std;(如果还出错的话,一定是因为该文件包含的头文件,还存在std。)
注意:如果注释掉“usingnamespace std;”后报了更多错,请不要注释usingnamespace std;
而将bind()函数换成 ::bind();一直使用 ::bind(),::的用法是直接访问全局,也是系统调用