Rel*_*lla 2 c++ multithreading boost shared-ptr boost-asio
所以我尝试:
boost::shared_ptr<tcp::socket> socket =
boost::make_shared<tcp::socket>(io_service);
Run Code Online (Sandbox Code Playgroud)
如上所述这里.但它给我带来了一个错误:
编译器告诉我它不能转(
error C2664:
boost::asio::basic_stream_socket<Protocol>::basic_stream_socket(
boost::asio::io_service &))
'boost::asio::io_service *const ' into 'boost::asio::io_service &'
\include\boost\smart_ptr\make_shared.hpp
Run Code Online (Sandbox Code Playgroud)
我该怎么办?
使用时需要将其io_service
作为参考传递make_shared
.
boost::shared_ptr<tcp::socket> socket =
boost::make_shared<tcp::socket>(boost::ref(io_service));
Run Code Online (Sandbox Code Playgroud)