exponenta event banner

MISRA C:2012 Правило 10.3

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

Описание

Определение правила

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

Объяснение

Использование неявных преобразований между типами может привести к непреднамеренным результатам, включая возможную потерю значения, знака или точности.

Дополнительные сведения об основных типах см. в разделе MISRA C:2012 Rule 10.1.

Внедрение Polyspace

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

Проверка не вызывает нарушения этого правила:

  • Если выражение является просто константой нуля.

  • Если подписанная константа назначена неподписанной переменной, но она имеет то же представление, что и ее беззнаковый эквивалент. Например, средство проверки не помечает такие операторы, как:

    unsigned int u = 1;

Дополнительное сообщение в отчете

  • Выражение назначается объекту с другой категорией необходимого типа.

  • Выражение назначается объекту с более узким существенным типом.

Поиск неисправностей

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

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

Группа: Модель основного типа
Категория: Обязательно
СМЖЛ Категория: Консультативные услуги