Я пытаюсь получить постоянную ссылку обратно методом для сопоставленного значения unordered_map. Unordered_map является членом класса. Однако приведенный ниже код не работает и выдает ошибку, указанную в заголовке.
Я пытался изменить const umap_int::mapped_type &
на const int &
, который тоже не работал. Сработал стандартный пример возврата константной ссылки на переменную простого типа данных (int, double, ...).
#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;
}