我什至不知道这意味着什么,我不断收到此错误“'map>类型没有可行的重载运算符[]”。
错误是我尝试打印出地图“ city_Connection”。
void travel::get(){
vector<string>main_cities;
vector<string>neighbouring_cities;
map<string, vector<string>>;
int n;
cin>>n;
int m;
for(int i=0; i<n; i++){
string city; cin>>city;
main_cities.push_back(city);
cin>>m;
for (int i=0; i<m; i++) {
string ncity; cin>>ncity;
neighbouring_cities.push_back(ncity);
}
city_Connenction[city]=neighbouring_cities;
neighbouring_cities.clear();
}
cout<<endl;
cin>>source;
cin>>destn;
cout<<endl;
cout<<city_Connenction['A'];
}
在c++
中,'A'
的类型为char
,"A"
的类型为const char*
。后者可以转换为std::string
,第一个则不能。
使用city_Connenction["A"]
。