if (!KeyIsExist(book, country)) {
cout << "Country " << country << " doesn't exist" << endl;
} else {
cout << "Country " << country << " has capital " << book[country];
}
} В чем ошибка? Ругается на book[country]
Конкретнее
Видимо это KeyIsExist
bool KeyIsExist(const map<string, string> & book, string key) { bool result = false; for (const auto & x : book) { if (x.first == key) { result = true; break; } } return result; }
Как объявлена эта функция?
Тогда значить от book []
То ест ты прав был. Надо . at
Под if() можете писать return true;, а вне цикла, соответственно, - return false;. Не нужна ни переменная, ни break;.
Ну да, для словаря с доступом по колючу за O(log n) искать перебором странно
Обсуждают сегодня