Битовые поля должны быть объявлены только с соответствующим типом
Битовые поля должны быть объявлены только с соответствующим типом.
Использование int
для типа битового поля задана реализация, поскольку битовые поля типа int
может быть либо signed
или unsigned
.
Использование enum
, short char
, или любой другой тип битового поля не разрешен в C90, поскольку поведение не определено.
В C99 реализация может потенциально задавать другие целые типы, которые разрешены в объявлениях битового поля.
Чекер помечает типы данных для битовых полей, отличных от этих допустимых типов:
C90: signed int
или unsigned int
(или typedef
-s, которые разрешаются к этим типам)
C99: signed int
, unsigned int
или _Bool
(или typedef
-s, которые разрешаются к этим типам)
Результаты зависят от версии стандарта C, используемой в анализе. См. C standard version (-c-version)
.
Если вы ожидаете нарушения правил, но не видите его, обратитесь к разделу «Стандартные нарушения кодирования не отображаются».
Группа: Типы |
Категория: Требуемая |
Категория AGC: Требуется |