Оба операнда оператора, в которых выполняются обычные арифметические преобразования, должны иметь одну и ту же категорию основных типов
Оба операнда оператора, в которых выполняются обычные арифметические преобразования, должны иметь одну и ту же категорию основных типов.
Использование неявных преобразований между типами может привести к непреднамеренным результатам, включая возможную потерю значения, знака или точности.
Для получения дополнительной информации о важных типах смотрите MISRA C:2012 Rule 10.1.
Проверка вызывает нарушение этого правила, если два операнда операции имеют различные существенные типы. В сообщении о шашке указываются типы, обнаруженные на двух сторонах операции.
Шашка не поднимает нарушения этого правила:
Если один из операндов является постоянным нулями.
Если один из операндов является константой со знаком, а другой операнд не подписан, и константа со знаком имеет то же представление, что и ее беззнаковый эквивалент.
Например, оператор u8b = u8a + 3;, где u8a и u8b являются unsigned char переменные, не нарушают правило, потому что константы 3 и 3U имеют то же представление.
Если вы ожидаете нарушения правил, но не видите его, обратитесь к разделу «Стандартные нарушения кодирования не отображаются».
| Группа: Модель Essential Type |
| Категория: Требуемая |
| Категория СМЖЛ: Консультационная |