[英]Accessing a map's value which is a vector pair C++
我有一张地图
map <string, vector<pair<int, string>>>;
当我遍历地图时,我想访问向量中的数据以打印出来并对其进行操作,我一直在尝试使用myMap.at(string1).first
来访问与键string1
关联的整数,但我不断收到类型错误。 有人可以解释从其密钥访问此向量对中数据的最佳方法吗?
鉴于:
map <string, vector<pair<int, string>>> myMap;
这:
myMap.at(string1).first
显然不应该编译。 myMap.at()
如果与关联值成功匹配,则会为您提供一个vector
。 您正在尝试在该vector
上使用.first
。 vector
没有.first
和这样的成员。 也许你想要:
map <string, pair<int, string>> myMap;
如果您确定需要原始数据类型,则访问与string1
关联的第一对将是:
myMap.at(string1).at(0).first
这将获取与string1
关联的vector<pair<int, string>>
并为您提供该向量的第一对中的第一个元素。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.