“=”: 无法从“std::_Binder<std::_Unforced,SOCKET &,SOCKADDR *,unsigned int>”转换为“int”解决方案

场景说明
int err = bind(sockSrv, (SOCKADDR*)&addrServ, sizeof(SOCKADDR)); //把socket 绑定到指定地址上
编译代码出错提示:
错误 C2440 “=”: 无法从“std::_Binder”转换为“int”
分析
从std错误提示,说明调用的是std作用域下的函数,而不是winsock库的绑定函数,两个不同的库都定义了相同函数名称和函数参数列表一致的函数,导致调用混乱
而在代码的头文件中引用了std作用域
using namespace std;
导致编译调用std::bind出现的问题
解决方案
int err = ::bind(sockSrv, (SOCKADDR*)&addrServ, sizeof(SOCKADDR));

“=”: 无法从“std::_Binder<std::_Unforced,SOCKET &,SOCKADDR *,unsigned int>”转换为“int”解决方案最先出现在Python成神之路

版权声明:
作者:zhangchen
链接:https://www.techfm.club/p/24618.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>