【发布时间】:2017-06-12 11:12:52
【问题描述】:
在http://www.boost.org/doc/libs/1_59_0/doc/html/boost_asio/reference/async_write/overload1.html 它为缓冲区声明“底层内存块的所有权由调用者保留,它必须保证它们在调用处理程序之前保持有效。”
为了做到这一点,我首先通过以下方式为缓冲区创建一个 shared_ptr:
request_buff_ = std::make_shared<boost::asio::const_buffer> (boost::asio::buffer(request_str));
其中 request_str 是一个 std::string。然后在写之前取消引用:
boost::asio::write(socket, *request_buff_);
得到如下编译错误:
'const_iterator': is not a member of 'boost::asio::const_buffer'
【问题讨论】:
标签: c++ boost-asio