3
我想訪問地圖矢量中的特定元素。下面是我的代碼,它給編譯錯誤。 如何在地圖向量中查找地圖?使用在地圖矢量內的地圖中查找
#include <iostream>
#include <vector>
#include <map>
using namespace std;
int main() {
std::vector<map <string, int> > vecOfMaps;
map <string, int> myMap;
for (int j = 0; j < 10; j++) {
myMap["alpha"] = j;
myMap["beta"] = j*2;
vecOfMaps.push_back(myMap);
}
int start = 3;
int end = 5;
int counter = start;
for (std::vector<map <string, int> >::iterator vecIter = vecOfMaps.begin()+start; vecIter != vecOfMaps.begin()+end; ++vecIter) {
map<string, int>::iterator mapIter = vecIter.find("alpha");
cout << "\n vecElement " << counter << " mapString " << mapIter->first << " mapInt " << mapIter->second;
counter++;
}
return 0;
}
錯誤:「的std ::矢量,INT>>:迭代」沒有名爲「查找」的 地圖:迭代mapIter = vecIter.find( 「阿爾法」)部件;
我想查找是容器的方法,而不是迭代器。也許嘗試尊重? – peterh