Если составное выражение используется в качестве одного операнда оператора, в котором выполняются обычные арифметические преобразования, то другой операнд не должен иметь более широкого существенного типа
Если составное выражение используется в качестве одного операнда оператора, в котором выполняются обычные арифметические преобразования, то другой операнд не должен иметь более широкого существенного типа.
Составное выражение является неконстантным выражением с использованием составного оператора. В модели Essential Type, композитные операторы:
Мультипликативный (*
, /
, %
)
Добавка (двоичная +
, двоичные -
)
Побитовый (&
, |
, ^
)
Сдвиг (<<
, >>
)
Условный (?
, :
)
Ограничение неявного преобразования составных выражений означает, что последовательности арифметических операций в выражениях должны использовать один и тот же существенный тип. Это ограничение уменьшает путаницу и избегает потери значения, знака, точности или размещения. Однако это правило не подразумевает, что все операнды в выражении имеют один и тот же существенный тип.
Для получения дополнительной информации о важных типах смотрите MISRA C:2012 Rule 10.1
.
Правый операнд не должен иметь более широкого существенного типа, чем левый операнд, который является составным выражением.
Левый операнд не должен иметь более широкого существенного типа, чем правый операнд, который является составным выражением.
Если вы ожидаете нарушения правил, но не видите его, обратитесь к разделу «Стандартные нарушения кодирования не отображаются».
Группа: Модель Essential Type |
Категория: Требуемая |
Категория СМЖЛ: Консультационная |