有人能看出我做错了什么吗?根据1.47中的文档,basic_datagram_socket继承自basic_socket,因此应该继承non_blocking()或non_blocking(bool)。谢谢
错误1错误c:\DEV\projects\topoTest\topoTest\multiReceiver.cpp:'non_blocking‘:不是'boost::asio::basic_datagram_socket’C2039 129的成员
这就是召唤。Socket_.non_blocking(真);
并且套接字在类中的定义如下:
boost::asio::ip::udp::socket socket_;
发布于 2011-07-16 02:05:53
成员函数boost::asio::ip::udp::socket::non_blocking()似乎是1.47中的新功能。要么它在1.47中实际上不存在,要么你实际上使用了一个更老的头。我建议查找包含在其中的<boost/asio/basic_datagram_socket.hpp>头,看看它是否真的将该成员函数作为basic_datagram_socket类的一部分。如果没有,你可以像Steve Townsend在他的回答中所说的那样,用旧的方法来做。
我刚刚下载了Boost1.47,发现basic_datagram_socket继承了basic_socket的non_blocking()。在我看来,你实际上并没有Boost 1.47。
https://stackoverflow.com/questions/6710095
复制相似问题