[英]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.