我可以弄明白为什么我的编译器响应时会尝试访问 - >第一个和 - >迭代器的第二个字段。我在地图结构之前使用但不使用字符串作为键。
错误:错误C2675:一元' ++' :' std :: string'没有定义此运算符或转换为预定义运算符可接受的类型
#include <iostream>
#include <map>
#include <string>
using namespace std;
void display(map <string, string> v){
map <string, string> ::iterator it = v.begin();
map <string, string> ::iterator end = v.end();
for (; it != end; ++it){
cout << "Name:" << it->first << "---->";
cout << "Adress:" << it->second << endl;
}
}
int main()
{
map <string, string > v;
string name;
string adress;
do
{
cout << "Name:";
cin >> name; // getline(cin, name);
cout << "\nAdress:";
cin >> adress; // getline(cin, adress);
v.insert(name, adress);
} while (name == "exit");
display(v);
}
你能告诉我们,我写错了什么?