Перечисления должны быть объявлены как отсчитываемые классы перечисления
Перечисления должны быть объявлены как перечисленные классы перечислений.
Значения перечисления в неотключенном перечислении могут конфликтовать с другими идентификаторами в тех же возможностях, что и перечисление, и вызывать ошибки компиляции. Для образца:
enum E: std::int32_t { E0, E1};
std::int32_t E0;Если вы охватываете перечисление, таких конфликтов можно избежать. Для образца:
enum class E: std::int32_t { E0, E1};
std::int32_t E0;Масштабирование перечисления также запрещает неявное преобразование значений перечисления в другие типы.
Если вы ожидаете нарушения правил, но не видите его, обратитесь к разделу «Стандартные нарушения кодирования не отображаются».
| Группа: Декларация |
| Категория: Необходимый, Автоматизированный |