【发布时间】:2019-07-10 06:23:38
【问题描述】:
我正在尝试通过 unordered_map 的映射值的方法获取常量引用。 unordered_map 是一个类成员。但是,下面的代码不起作用并引发标题中所述的错误。
我尝试将 const umap_int::mapped_type & 更改为 const int & 也不起作用。返回对简单数据类型(int、double、...)变量的 const 引用的标准示例有效。
#include <unordered_map>
using namespace std;
typedef unordered_map<int, int> umap_int;
class class_A{
public:
class_A(){
for(int k=0; k<3;++k)
M[k] = k;
}
const umap_int::mapped_type & get_M(int key) const{
return M[key];
}
private:
umap_int M;
};
int main(){
class_A A;
return 0;
}
【问题讨论】:
-
请不要调用成员变量M
标签: c++ reference constants return-value member-functions