Хорошо, я пытался найти другие решения, связанные с моим, но я не мог найти решение. Я использую Visual Studio 2017, я смотрел учебник, и он использовал Linux, но также этот код из книги. Моя проблема в том, что я получаю сообщение об ошибке:
"список аргументов для шаблона класса" std :: iterator "отсутствует"
"успех не может определить тип 'auto' (требуется инициализатор)"
"идентификатор" ключа "не определен"
"идентификатор" b "не определен, ожидается a ']'
"count не может определить тип auto (требуется инициализатор)"
Вот часть моего кода:
list<billionaire> billionaires{
{"Bill Gates", 86.0, "USA"},
{"Warren Buffet", 75.6, "USA"},
{"Jeff Bezos", 72.8, "USA"},
};
std::map<std::string, std::pair<const billionaire, std::size_t>> m;
for (const auto &b : billionaires) {
auto[iterator, success] = m.try_emplace(b.country, b, 1); //iterator and success are underlined red
if (!success) {
iterator->second.second += 1;
}
}
for (const auto &[key, value] : m) { // key underlined red
const auto &[b, count] = value; //b and count underlined red
cout << b.country << " : " << count << " billionaires. Richest is "
<< b.name << " with " << b.dollars << " B$\n";
}