簡體   English   中英

'map 類型沒有可行的重載運算符 [] <std::__1::string, vector<std::__1::string> &gt;</std::__1::string,>

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM