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