Нет жизнеспособного перегруженного оператора [] для типа 'map > - PullRequest
0 голосов
/ 05 апреля 2020

Я даже не знаю, что это значит, я продолжаю получать эту ошибку "Нет жизнеспособного перегруженного оператора [] для типа 'карта>".

ошибка, когда я пытаюсь распечатать карту 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'];
}

1 Ответ

0 голосов
/ 05 апреля 2020

In c++ 'A' имеет тип char, а "A" имеет тип const char*. Последний конвертируется в std::string, первый - нет.

Использование city_Connenction["A"].

...