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