C++ 创建套接字的共享\u Ptr-有什么问题?
所以我试着:C++ 创建套接字的共享\u Ptr-有什么问题?,c++,multithreading,boost,boost-asio,shared-ptr,C++,Multithreading,Boost,Boost Asio,Shared Ptr,所以我试着: boost::shared_ptr<tcp::socket> socket = boost::make_shared<tcp::socket>(io_service); boost::共享ptr套接字= boost::使_共享(io_服务); 如上所述。但这给我带来了一个错误: 编译器告诉我它不能转( 错误C2664: boost::asio::basic\u stream\u socket::basic\u st
boost::shared_ptr<tcp::socket> socket =
boost::make_shared<tcp::socket>(io_service);
boost::共享ptr套接字=
boost::使_共享(io_服务);
如上所述。但这给我带来了一个错误:
编译器告诉我它不能转(
错误C2664:
boost::asio::basic\u stream\u socket::basic\u stream\u socket(
boost::asio::io(服务&)
将“boost::asio::io_service*const”改为“boost::asio::io_service&”
\包括\boost\smart\u ptr\make\u shared.hpp
我该怎么办?使用
共享时,您需要将io\u服务作为参考
boost::shared_ptr<tcp::socket> socket =
boost::make_shared<tcp::socket>(boost::ref(io_service));
boost::共享ptr套接字=
boost::使_共享(boost::ref(io_服务));
向我们展示您的io_服务声明?
boost::shared_ptr<tcp::socket> socket =
boost::make_shared<tcp::socket>(boost::ref(io_service));