Я даже не знаю, что это значит. Я продолжаю получать эту ошибку «Нет жизнеспособного перегруженного оператора [] для типа« карта> ».
Ошибка, когда я пытаюсь распечатать карту "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'];
}
0
Aniket Vishwakarma
5 Апр 2020 в 14:13
Без минимального воспроизводимого примера мы должны угадать типы и местоположение ошибки.
– Richard Critten
5 Апр 2020 в 14:16
1 ответ
В c++
'A'
имеет тип char
, а "A"
имеет тип const char*
. Последний конвертируется в std::string
, а первый нет.
Используйте city_Connenction["A"]
.
0
super
5 Апр 2020 в 14:52
Похожие вопросы
Новые вопросы
c++
C++ — это язык программирования общего назначения. Изначально он разрабатывался как расширение C и имел аналогичный синтаксис, но теперь это совершенно другой язык. Используйте этот тег для вопросов о коде, который будет скомпилирован с помощью компилятора C++. Используйте тег версии для вопросов, связанных с конкретной стандартной версией [C++11], [C++14], [C++17], [C++20] или [C++23]. и т.д.