Битовые поля должны быть или типом bool или явным образом целочисленным типом со знаком или без знака
Примечание
Используйте Bug Finder вместо Code Prover для проверки правил кодирования. Поддержка кодирования правил, регистрируясь в Code Prover будет удалена в будущем релизе. См. Вопросы совместимости.
Битовые поля должны быть или типом bool или явным образом целочисленным типом со знаком или без знака.
Используя битовые поля требуют, чтобы их базовые битные представления не были заданы реализацией. Для типов кроме bool и signed или unsigned целочисленные типы, базовое битное представление не явным образом известно. Например, базовое представление int битовое поле может быть или подписано или без знака на основе реализации. Точно так же ISO/IEC 14882:2003 явным образом не задает со знаком из базового битного представления wchar_t типы.
Используя типы кроме bool и signed или unsigned целочисленные типы как битовые поля могут привести к коду, который ведет себя зависящим от реализации способом и результатом в ошибках, которые затрудняют, чтобы диагностировать. При использовании битовых полей используйте bool, signed целочисленные типы или unsigned целочисленные типы.
Polyspace® сообщает нарушение этого правила, если тип небольшого поля:
Целочисленный тип, который не имеет явной спецификации знака
wchar_t
Polyspace не сообщает о нарушении, если тип небольшого поля:
bool
Явным образом или явным образом целочисленный тип без знака со знаком
Явным образом char без знака или со знаком
Если вы ожидаете нарушение правила, но не видите его, относитесь, чтобы Диагностировать, Почему Кодирующие Стандартные Нарушения Не Появляются как ожидалось.
| Группа: Классы |
| Категория: необходимый |