Код: Выделить всё
const std::map histogram{
{'A', 2},
{'D', 1},
{'M', 1},
};
for (const auto& [index, key, value] : std::views::enumerate(histogram))
{
// ...
}
< /code>
Но он не компилируется (компилятор Explorer) Ошибка отчетности: < /p>
:13:21: error: 3 names provided for structured binding
13 | for (const auto& [index, key, value] : std::views::enumerate(histogram))
| ^~~~~~~~~~~~~~~~~~~
:13:21: note: while 'const std::tuple' decomposes into 2 elements
Есть ли какой -то другой трюк, который мне не хватает, или в этом случае я просто не могу «распаковывать» элемент карты и вместо этого должен сохранить его как [index, intry] и затем использовать entry.first и entry.s. /> или, может быть, предлагает что -то еще, кроме перечисления для этого сценария?
Подробнее здесь: https://stackoverflow.com/questions/797 ... -of-stdmap
Мобильная версия