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