套接字创建的Shared_Ptr - 出了什么问题?

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)

我该怎么办?

Sam*_*ler 5

使用时需要将其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)