multimap 求纠错
本帖最后由 DannyPassante 于 2013-02-12 08:24:53 编辑
#include <iostream>
#include <map>
using namespace std;
int main()
{ multimap<string,int>mymap;
multimap<string,int>::iterator iter;
pair<multimap<char,int>::iterator, multimap<char,int>::iterator> par;
mymap.insert(pair<char,int>('a',8));
mymap.insert(pair<char,int>('b',10));
mymap.insert(pair<char,int>('b',990));
mymap.insert(pair<char,int>('c',69));
mymap.insert(pair<char,int>('d',89));
mymap.insert(pair<char,int>('d',39));
mymap.insert(pair<char,int>('e',89));
mymap.insert(pair<char,int>('f',1));
cout<<"the map contains"<<endl;
for(char ch='a';ch<='f';ch++)
{
cout << ch << " =>";
par = mymap.equal_range(ch);
for (iter=par.first; iter!=par.second; ++iter)
cout << " " << (*iter).second;
cout << " "<<endl;
}
system("pause");
return 0;
}
错误在
par = mymap.equal_range(ch);
for (iter=par.first; iter!=par.second; ++iter)
cout << " " << (*iter).second;
cout << " "<<endl;
}
[解决办法]
multimap<string,int>mymap;和pair<char,int>的key value不一致
[解决办法]
par = mymap.equal_range(ch)