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(),::的用法是直接访问全局,也是系统调用 

posted @ 2019-11-11 17:28  不知起什么名字  阅读(2141)  评论(0编辑  收藏  举报