[英]No viable overloaded operator[] for type 'map<std::__1::string, vector<std::__1::string> >
我什至不知道這意味着什么,我不斷收到此錯誤“對於類型 'map > 沒有可行的重載運算符 []”。
錯誤是當我嘗試打印出 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"]
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.