下面的代碼將拋出一個警告:爲什麼我不能用由函數返回的unique_ptr交換unique_ptr?
警告C4239:使用非標準擴展: '參數':從 '的std ::的unique_ptr < _Ty>' 到 '的std ::的unique_ptr < _Ty> &'
轉換std::unique_ptr<T> foo() { return std::unique_ptr<T>(new T); }
std::unique_ptr<T> myVar;
myVar.swap(foo());
我想知道處理這種情況的正確方法是什麼。
不幸的是,Visual Studio中不支持統一初始化語法 – Praetorian
@禁衛軍:打擾了。讓我修復。 –