【发布时间】:2016-02-25 20:03:56
【问题描述】:
我有 2 个类(firstClass 和secondClass),其中firstClass 是secondClass 的朋友,并且有一个私有嵌套std::unordered_map,我想在@987654326 的函数中访问它@。
所以基本上代码是这样的:
class secondClass;
typedef unordered_map STable<unsigned, unordered_map<unsigned, double> > NESTED_MAP;
class firstClass {
friend class secondClass;
void myfunc1(secondClass* sc) {
sc->myfunc2(&STable);
}
private:
NESTED_MAP STable;
};
class secondClass {
public:
void myfunc2(NESTED_MAP* st) {
//Here I want to insert some elements in STable.
//Something like:
st[1][2] = 0.5;
}
};
int main() {
firstClass fco;
secondClass sco;
fco.myfunc1(&sco);
return 0;
}
关键是,如果我使用简单的std::unordered_map 而不是嵌套映射,我可以轻松修改它(添加新元素,或更改某些键的值)。但是,在嵌套地图中我什么都做不了。
我知道它应该是微不足道的,但我不知道如何解决它。 有什么想法吗?
【问题讨论】:
-
标题中的引用,代码中的指针。
-
谢谢。我忘了。我知道我遗漏了一些明显的东西。
标签: c++ unordered-map nested-map