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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM