Почему компилятор не выдает предупреждение при инициализации перечисления недопустимым значением? [дубликат]C++

Программы на C++. Форум разработчиков
Anonymous
Почему компилятор не выдает предупреждение при инициализации перечисления недопустимым значением? [дубликат]

Сообщение Anonymous »

Рассмотрим следующий код:

Код: Выделить всё

enum class Color : char {
Red   = 1,
Green = 2,
Blue  = 3,
};

int main() {
auto _ = Color{4}; // g++ & clang++ are both ok without any warning!
}
Я думаю, что если бы компилятор выдал здесь предупреждение, это помогло бы программисту найти ошибки.
Почему нет предупреждения компилятора при инициализации перечисления недопустимым значением?

Подробнее здесь: https://stackoverflow.com/questions/793 ... nvalid-val

Вернуться в «C++»