编译时候报如下错误:
不能将‘std::_Bind<int(sockaddr*, long unsigned int)>’转换为‘int’,在 initialization 中
解决办法:
如果想用std的bind,就在bind前加std::,例如:int result = std::bind(listen_fd, (struct sockaddr *)&server, sizeof(struct sockaddr));
如果想用sys/socket.h中的bind,就在bind前加::,例如:int result = ::bind(listen_fd, (struct sockaddr *)&server, sizeof(struct sockaddr));
另,确定sys/socket.h位于linux系统哪个位置的方法是:
直接在命令行中输入:locate socket.h