0
我的问题是如何将智能指针分配给其他人?我不知道如何绕过临时变量?boost shared_ptr拷贝问题
typedef boost::asio::ip::tcp::socket TBoostSocket;
typedef boost::shared_ptr<TBoostSocket> TSocket;
TSocket createSocket(const IpcNode::TPath& a_path) {
TSocket socket(new TBoostSocket(*this->getIoservice()));
return socket;
}
//在另一个函数
TSocket result();
result= createSocket(a_path);
//编译器输出
错误:服用的地址临时[-fpermissive]
41:错误:的功能分配“IPC :: TcpServices :: TSocket IPC :: result() 无法在作业中将'TSocket * {aka boost :: shared_ptr> *}'转换为'TSocket(){aka boost :: shared_ptr>()}'
我知道我缺少明显的东西我可以看到它现在
谢谢我看不到树的木头 – gda2004
这是一个非常容易忽略的非常常见的问题(尤其是遇到的错误信息)。 – NPE