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