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