簡體   English   中英

訪問地圖的值,它是一個向量對 C++

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM