为了延迟,我尝试生成一些已经执行了连接和握手的套接字,以节省几毫秒的时间。当我尝试在向量上使用"push_back“新的ssl流时,我得到"Description Location Resource Path Type‘boost::asio::basic_io_object::basic_io_object(const IoObjectService ) with IoObjectService= boost::asio::deadline_timer_service >‘is private line 163,external location: external location:external Test3 C/C++ Problem”。
void QueueSocket() {
using namespace boost::network;
boost::system::error_code ec;
using boost::asio::ip::tcp;
namespace ssl = boost::asio::ssl;
typedef ssl::stream<tcp::socket> ssl_socket;
std::vector<boost::asio::io_service> vecStreams;
vecStreams.emplace_back();}
发布于 2014-01-27 07:54:10
std::vector拥有它的元素,这意味着它试图移动或复制新值。sockconn不是临时的,所以它不会被移动,也不能被复制。
在这种情况下,我认为您可以移动它--无论如何,您不需要在push_back之后使用sockconn。所以:vecStreams.push_back(std::move(sockconn));。
https://stackoverflow.com/questions/21368405
复制相似问题