Одноразрядные именованные битовые поля не должны иметь типа со знаком
Примечание
Используйте Bug Finder вместо Code Prover для проверки правил кодирования. Поддержка кодирования правил, регистрируясь в Code Prover будет удалена в будущем релизе. См. Вопросы совместимости.
Одноразрядные именованные битовые поля не должны иметь типа со знаком.
Согласно Стандартному Разделу C99 6.2.6.2, одноразрядное битовое поле со знаком имеет один знаковый бит и никакие биты значения. В любом представлении целых чисел биты нулевого значения не могут задать значимое значение.
Одноразрядное битовое поле со знаком вряд ли будет поэтому вести себя полезным способом. Его присутствие, вероятно, укажет на беспорядок программиста.
Несмотря на то, что Стандарт C90 не предоставляет много детали относительно представления типов, те же одноразрядные факторы битового поля применяются.
Это правило не применяется к битовым полям без имени, потому что к их значениям нельзя получить доступ.
Если вы ожидаете нарушение правила, но не видите его, относитесь, чтобы Диагностировать, Почему Кодирующие Стандартные Нарушения Не Появляются как ожидалось.
Группа: типы |
Категория: необходимый |
Категория AGC: необходимый |