Оба операнда оператора, в котором выполняются обычные арифметические преобразования, должны иметь ту же существенную категорию типа
Оба операнда оператора, в котором выполняются обычные арифметические преобразования, должны иметь ту же существенную категорию типа.
Использование неявных преобразований между типами может привести к непреднамеренным результатам, включая возможную потерю значения, знака или точности.
Polyspace® не производит нарушение этого правила:
Если один из операндов является постоянным нулем.
Если один из операндов является константой со знаком, и другой операнд без знака, и константа со знаком имеет то же представление как свой эквивалент без знака.
Например, оператор u8b = u8a + 3;, где u8a и u8b unsigned char переменные, не нарушает правило потому что константы 3 и 3U имейте то же представление.
Операнды operator_name оператор должен иметь ту же существенную категорию типа.
Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.
| Группа: существенная модель типа |
| Категория: необходимый |
| Категория AGC: консультация |