目前我正在寻找一种方法将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();' –