MISRA C:2012 Rule 10.6

Значение составного выражения не должно быть присвоено объекту с более широким существенным типом

Описание

Управляйте определением

Значение составного выражения не должно быть присвоено объекту с более широким существенным типом.

Объяснение

Составное выражение является непостоянным выражением с помощью составного оператора. В Существенной Модели Типа составные операторы:

  • Мультипликативный (*, /, %)

  • Дополнение (бинарный +двоичный файл-)

  • Поразрядно (&, |, ^)

  • Сдвиг (<<, >>)

  • Условное выражение (?, :)

Унарные операторы, такие как ~ и унарный + или - также рассматриваются составными операторами.

Если вы присваиваете результат составного выражения к большему типу, неявное преобразование может привести к потере значения, знака, точности или размещения.

Для получения дополнительной информации о существенных типах смотрите MISRA C:2012 Rule 10.1.

Поиск и устранение проблем

Если вы ожидаете нарушение правила, но не видите его, относитесь, чтобы Диагностировать, Почему Кодирующие Стандартные Нарушения Не Появляются как ожидалось.

Проверяйте информацию

Группа: существенная модель типа
Категория: необходимый
Категория AGC: консультация