沒有從我的代碼片段:避免在局部範圍內動態分配
const std::pair<Info, const ElementHandler&>& handle() const {
FileHandler fileHandler = FileHandler();
std::pair<Info, const ElementHandler&> result = std::pair<Info, const FileHandler&> (info, fileHandler);
return result;
}
我有以下的編譯錯誤:
error: cannot declare field ‘std::pair<Synchronizer::Info, Synchronizer::ElementHandler>::second’ to be of abstract type ‘Synchronizer::ElementHandler’
如何我可以編寫代碼來保存的想法?是否有可能,或者我需要使用指針和動態分配?
無論編譯錯誤的,你永遠不應該返回一個引用到本地聲明的變量! – Nick 2012-04-17 09:08:25