【发布时间】:2021-02-28 11:55:02
【问题描述】:
map<string,long>::iterator iter; iter=phonebook.begin();
while (iter != phonebook.end()){
if(name==(*itr).first){
cout<<(*itr).first<<"="<<(*itr).second<<endl;
c=1;
break;
}
此代码抛出此错误:
[Error] no match for 'operator=' (operand types are 'std::map<std::basic_string<char>, long int>::iterator {aka std::_Rb_tree_iterator<std::pair<const std::basic_string<char>, long int> >}'
and 'std::map<std::basic_string<char>, int>::iterator {aka std::_Rb_tree_iterator<std::pair<const std::basic_string<char>, int> >}')
【问题讨论】:
-
请分享您的完整代码,因为很难理解 c、itr 和 name 是什么
-
看起来你的地图类型实际上是
map<string, int>
标签: c++ maps operator-keyword