我有 2 个类 (firstClass
和secondClass
),它们firstClass
是 的朋友secondClass
,并且有一个私有嵌套std::unordered_map
,我想在 的函数中访问它secondClass
。
所以基本上代码是这样的:
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
我可以轻松地修改它(添加新元素,或更改某些键的值)。但是,在嵌套地图中我无能为力。
我知道它应该是微不足道的,但我不知道如何解决它。任何想法?