错误:



对于此代码

Assoc<keyType,valueType>& found = internalStorage.get(find(key));//returns the value of some key

抱歉,我知道这并不有趣,但是我很困惑。

任何想法是什么问题?

最佳答案

看来internalStorage.get()按值返回了对象,并且您试图将非const引用绑定(bind)到返回的临时对象。

解决此问题的最佳方法取决于您要尝试执行的操作(以及internalStorage的类型):

  • 如果您不需要修改found,请引用const(请参阅Does a const reference prolong the life of a temporary?)。
  • 如果您确实需要修改found(这是internalStorage中存储的副本),只需删除&即可。
  • 如果您需要修改存储在internalStorage中的对象,则可能需要重构代码。
  • 关于c++ - 错误: invalid initialization for struct in C++,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22088571/

    10-10 03:39