我在C新型++,我想不出有什麼不對的代碼如何解決編譯錯誤:類型的std :: __ 1 ::串
string& GetAddonCmeterString(string& sid) {
ostringstream oss;
oss << "{";
oss << "currentValues : {sid : " << sid << "}";
oss << "}";
string& result = oss.str();
return result;
}
的」非const引用無效初始化編譯錯誤消息:
錯誤:的類型的非const引用初始化無效 '的std :: __ 1 ::串& {又名的std :: __ 1個:: basic_string的,性病:: __ 1 ::分配器> &}' 從類型'std :: __ 1 :: basic_string,std :: __ 1 :: allocator''的右值 字符串& result = oss.str();
在該行使用'string'而不是'string&' – wimh
這是您最小的擔心。您正在返回對局部變量的引用。 – juanchopanza
另外,你並沒有修改'sid',所以你應該通過const參考。 – juanchopanza