Значение выражения не должно быть присвоено объекту с более узким существенным типом или различной существенной категории типа
Значение выражения не должно быть присвоено объекту с более узким существенным типом или различной существенной категории типа.
Использование неявных преобразований между типами может привести к непреднамеренным результатам, включая возможную потерю значения, знака или точности.
Для получения дополнительной информации о существенных типах смотрите MISRA C:2012 Rule 10.1
. Обратите внимание на то, что для типа битового поля, если битовое поле реализовано как:
Булевская переменная, битовое поле является по существу булевской переменной.
Подписанный или тип без знака, битовое поле по существу подписывается или без знака соответственно.
Тип битового поля является самым маленьким типом, который может представлять битовое поле. Например, тип stmp
вот по существу целое число на 8 битов:
typedef signed int mybitfield; typedef struct { mybitfield f1 : 1; } stmp;
Выражение присвоено объекту с различной существенной категорией типа.
Выражение присвоено объекту с более узким существенным типом.
Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.
Группа: существенная модель типа |
Категория: необходимый |
Категория AGC: консультация |