我有一个数据结构:
unordered_map<pair<string, string>, unordered_map<pair<int, int>, double>> myMap;
我使用for
循环来获取它的条目,并使用此条目作为我的函数的输入:
for (auto& map : myMap) {
auto myReturn = myFunc(map);
}
但是当我写myFunc
时,我不知道参数的类型是什么,是pair
吗?
string myFunc(pair<pair<string, string>, unordered_map<pair<int, int>, double>> map)
答案 0 :(得分:0)
如示例所示,对unordered_map
进行迭代将产生unordered_map::value_type
,即std::pair<const Key, Value>
。因此,在您的情况下,变量map
的类型是
std::pair<const pair<string, string>, unordered_map<pair<int, int>, double>>
您无法致电myFunc
,因为pair
参数类型中myFunc
的第一个元素必须符合const
。