簡體   English   中英

使用 non_blocking() 提升 1.47 編譯錯誤

[英]boost 1.47 compile error with non_blocking()

誰能看出我在這里做錯了什么? 根據 1.47 中的文檔,basic_datagram_socket 繼承自 basic_socket,因此應該繼承 non_blocking() 或 non_blocking(bool)。 謝謝

錯誤 1 錯誤 C2039: 'non_blocking': is not a member of 'boost::asio::basic_datagram_socket' c:\DEV\projects\topoTest\topoTest\multiReceiver.cpp 129

這是電話。 socket_.non_blocking(true);

並且套接字在 class 中定義如下:

boost::asio::ip::udp::socket socket_;

成員 function boost::asio::ip::udp::socket::non_blocking()似乎是 1.47 中的新成員。 要么它實際上不存在於 1.47 中,要么你實際上使用的是較舊的 header。 我建議找到<boost/asio/basic_datagram_socket.hpp> header 以查看它是否實際上具有該成員 function 作為basic_datagram_socket ZA2F22ED4F8EBC2ABCB129 的一部分如果沒有,你總是可以像史蒂夫湯森在他的回答中所說的那樣用老方法來做。

我剛剛下載了 Boost 1.47,發現basic_datagram_socket basic_socket non_blocking() 在我看來,您實際上並沒有 Boost 1.47。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM