C/C++教程

std::bind与socket bind冲突

本文主要是介绍std::bind与socket bind冲突,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

编译时候报如下错误:


 error C2678: 二进制“==”: 没有找到接受“std::_Bind<false,void,SOCKET &,sockaddr *,unsigned int>”类型的左操作数的运算符(或没有可接受的转换


解决办法:


一、如果想用std的bind,就在bind前加std::,例如:int result = std::bind(listen_fd, (struct sockaddr *)&server, sizeof(struct sockaddr));


二、如果想用winsocket2.h中的bind

 

1.在使用bind()的类别中,不适用std的命名空间。避免冲突,这时可直接使用函数bind().

2.使用运算符::,在使用bind()函数时,添加运算符::,通过::bind()来进行函数调用。

这篇关于std::bind与socket bind冲突的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!