对于'map >

问题描述 投票:0回答:1
没有可行的重载运算符[]

我什至不知道这意味着什么,我不断收到此错误“'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++ vector maps operator-overloading
1个回答
0
投票

c++中,'A'的类型为char"A"的类型为const char*。后者可以转换为std::string,第一个则不能。

使用city_Connenction["A"]

© www.soinside.com 2019 - 2024. All rights reserved.