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