C++ socket bind() 函数绑定错误

 

C++ bind() 函数绑定错误

VS2013编译错误:

Error 48 errorC2440: 'initializing' : cannot convert from 'std::_Bind<false,void,SOCKET&,sockaddr *,unsigned int>' to 'int'

现象:Socket编程中bind()函数出错,然而其他API都能正常运行。

原因:c++ 11 ,在命名空间std中实现了bind函数,与socket编程里的bind函数冲突。

解决方法:

1.  去掉本文件的命名空间usingnamespace std;(如果还出错的话,一定是因为该文件包含的头文件,还存在std

2.  一直使用::bind(),::的用法是直接访问全局,也是系统调用。


猜你喜欢

转载自blog.csdn.net/invisible_sky/article/details/53340145
今日推荐