套接字创建的shared_ptr的 - 什么是错的? [英] Shared_Ptr of socket creation - what is wrong?
本文介绍了套接字创建的shared_ptr的 - 什么是错的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
所以我尝试:
boost::shared_ptr<tcp::socket> socket =
boost::make_shared<tcp::socket>(io_service);
如所描述的<一href=\"http://stackoverflow.com/questions/5657011/why-boost-does-not-create-a-thread-in-such-case-c2248-and-how-to-create-it/5657118#5657118\">here.但它给我的错误:
编译器告诉我,它不能把(
Compiler tells me that it can not turn (
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
我该怎么办?
推荐答案
您需要通过 io_service对象
使用时作为参考make_shared
。
boost::shared_ptr<tcp::socket> socket =
boost::make_shared<tcp::socket>(boost::ref(io_service));
这篇关于套接字创建的shared_ptr的 - 什么是错的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文