gpt4 book ai didi

c++ - 如何将 std::array 转换为 boost::asio::buffer?

转载 作者:行者123 更新时间:2023-11-30 04:52:21 25 4
gpt4 key购买 nike

我正在尝试将 std::array 转换为 boost::asio::buffer 以将其用于 async_read_some,但是我总是会遇到一些错误:

这是我的代码示例:

array<char, 16> data;
tcpSocket.async_read_some(buffer(data), [data](const boost::system::error_code& ec, size_t amountOfBytes) {
if (ec) {
cout << "Read failed with message: " << ec.message() << endl;
}
else {
cout.write(data.data(), amountOfBytes);
}
});

这是我得到的错误:

Error   C2661   'boost::asio::detail::buffer_sequence_adapter_base::init_native_buffer': no overloaded function takes 1 arguments
Error C2440 '<function-style-cast>': cannot convert from 'const boost::asio::const_buffers_1' to 'boost::asio::mutable_buffer'

我觉得很奇怪,我在网上看到的所有示例都使用相同的语法。

最佳答案

您可以使用 mutable_buffer

boost::asio::mutable_buffer buff( arr.data(), arr.size() );

关于c++ - 如何将 std::array 转换为 boost::asio::buffer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54458218/

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