gpt4 book ai didi

c++ - 将 boost::asio::ip::address_v4 隐藏为字符串

转载 作者:行者123 更新时间:2023-11-30 02:54:04 26 4
gpt4 key购买 nike

目前我正在寻找一种将 boost::asio::ip::address_v4() 转换为 string 的方法。有没有办法做到这一点?该方法来自 boost website 上的 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,这允许您在常量对象上调用它。

错误有两个原因:

  1. to_string() 有两个重载。一个接受零参数,另一个接受 boost::system::error_code 引用。您试图将 address_v4 对象作为参数传递给 to_string(),这是不正确的(不存在此类重载)。

  2. 语法 boost::asio::ip::address_v4::to_string(...) 只有在 to_string() 是静态的时才有效成员函数。由于 to_string() 是一个非静态成员函数,您需要 . 点运算符来调用对象实例上的成员函数,即 .to_string().

关于c++ - 将 boost::asio::ip::address_v4 隐藏为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17423423/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com