Базовый тип перечисления должен быть определен явным образом
Базовый тип перечисления должен быть определен явным образом.
В объявлении перечисления без области действия, например:
enum someEnum : type { ... }если : опущен, базовый тип определен для реализации (с единственным требованием, согласно которому тип должен соответствовать всем значениям перечисления). Отсутствие объявления базового типа явно приводит к поведению, определяемому реализацией.type
В объявлении перечисления области, например:
enum class someEnum : type { ... }если : опущен, базовым типом является typeint. Если значение перечисления превышает допустимые значения для int, вы видите ошибки компиляции.
Как для перечислений без области действия, так и для перечислений с областью действия объявите базовый тип явно, чтобы избежать поведения, определяемого реализацией, или ошибок компиляции.
Если вы ожидаете нарушения правила, но не видите его, обратитесь к разделу Нарушения стандартов кодирования не отображаются.
| Группа: Объявление |
| Категория: Обязательно, Автоматизировано |