我试图将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 ammountOfBytes) {
if (ec) {
cout << "Read failed with message: " << ec.message() << endl;
}
else {
cout.write(data.data(), ammountOfBytes);
}
});
这是我得到的错误:
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'
我觉得在网上看到的所有示例都使用相同的语法很奇怪。