目前我正在尋找一種方法將boost::asio::ip::address_v4()
轉換爲string
。有沒有辦法做到這一點?該方法來自於boost websiteCovert boost :: asio :: ip :: address_v4到字符串
更新的ipv4_header.hpp:我已經試過boost::asio::ip::address_v4::to_string(ipv4_hdr.source_address())
,但我沒有成功
目前我正在尋找一種方法將boost::asio::ip::address_v4()
轉換爲string
。有沒有辦法做到這一點?該方法來自於boost websiteCovert boost :: asio :: ip :: address_v4到字符串
更新的ipv4_header.hpp:我已經試過boost::asio::ip::address_v4::to_string(ipv4_hdr.source_address())
,但我沒有成功
address_v4
有一個成員函數to_string。
您調用的函數,boost::asio::ip::address_v4 source_address() const
按值返回address_v4
對象。必須在對象上調用非靜態成員函數,因此,可以從函數返回的對象上調用to_string()
:ipv4_hdr.source_address().to_string();
。還要注意,成員函數被標記爲const
,它允許你在常量對象上調用它。有兩個原因
錯誤:
to_string()
有兩個重載。一個接受零參數,另一個接受boost::system::error_code
參考。您試圖將address_v4
對象作爲參數傳遞給to_string()
,這是不正確的(不存在此類過載)。
語法boost::asio::ip::address_v4::to_string(...)
如果to_string()
是一個靜態成員函數纔有效。由於to_string()
是一個非靜態成員函數,因此需要.
點運算符來調用對象實例的成員函數,即.to_string()
。
你需要學習閱讀的文檔,有一個[to_string()](http://www.boost.org/doc/libs/1_54_0/doc/html/boost_asio/reference/ip__address_v4/to_string .html)功能。 –
我已經發現,它在文檔中是正確的,但它不起作用。我有'boost :: asio :: ip :: address_v4 :: to_string(ipv4_hdr.source_address())'。它給出:'錯誤:沒有重載函數的實例「boost :: asio :: ip :: address_v4 :: to_string」匹配參數列表參數類型是:(boost :: asio :: ip :: address_v4)' – compu92
嘗試' ipv4_hdr.source_address()。to_string();' –