map出现了一个问题
#include <string>#include <iostream>#include <map>#include <utility>using namespace std;int main(){ map<string,int> firstMap; map<string,int> secondMap; firstMap["one"]=1; firstMap["two"]=2; map<string,int>::iterator i=firstMap.begin(); for(i;i!=firstMap.end();++i){ secondMap[i->first]=i->second; // cout<<i->first<<i->second<<endl; } map<string,int>::iterator n=secondMap.begin(); for(n;n!=firstMap.end();++n){ cout <<n->first <<n->second; }}
#include <string>#include <iostream>#include <map>#include <utility>using namespace std;int main(){ map<string,int> firstMap; map<string,int> secondMap; firstMap["one"]=1; firstMap["two"]=2; map<string,int>::iterator i=firstMap.begin(); for(i;i!=firstMap.end();++i){ secondMap[i->first]=i->second; // cout<<i->first<<i->second<<endl; } map<string,int>::iterator n=secondMap.begin(); for(n;n!=firstMap.end();++n){ //这儿改成 n != secondMap.end() cout <<n->first <<n->second; }}
[解决办法]
map<string,int>::iterator n=secondMap.begin();
for(n;n!=firstMap.end();++n){
cout <<n->first <<n->second;
}