Явное интегральное преобразование не должно изменять со знаком из базового типа cvalue выражения
Явное интегральное преобразование не должно изменять со знаком из базового типа cvalue выражения.
Выражения, отмеченные этим средством проверки, следуют подробным спецификациям для cvalue выражений от MISRA® Документация C++.
Если вы выполняете выражение и позже бросаете результат к другому типу, бросок не оказывает влияния на базовый тип оценки (самый широкий из типов данных операнда в выражении).. Например, в этом примере, сумме двух unsigned int
операнды брошены к типу int
.
unsigned int op1; unsigned int op2; int res; res= static_cast<int> (op1 + op2);
int
из-за более позднего броска.Если вы ожидаете нарушение правила, но не видите его, относитесь, чтобы Диагностировать, Почему Кодирующие Стандартные Нарушения Не Появляются как ожидалось.
Группа: Выражения |
Категория: необходимый |