错误:
从类型
的表达式初始化Assoc<float, std::basic_string<char> >&
const Assoc<float, std::basic_string<char> >
类型的引用无效
代码
Assoc<keyType,valueType>& found = internalStorage.get(find(key));//returns the value of some key
对不起,我知道这不好玩,但我很困惑。
任何想法是什么问题?
答案 0 :(得分:1)
看起来internalStorage.get()
按值返回对象,并且您尝试将非const
引用绑定到返回的临时值。
解决此问题的最佳方法取决于您正在尝试做什么(以及internalStorage
的类型):
found
,请参考const
(并参阅Does a const reference prolong the life of a temporary?)。found
(这是internalStorage
中存储内容的副本),只需删除&
。internalStorage
中存储的对象,则可能需要重构代码。