cvalue выражение не должно быть неявно преобразовано в различный базовый тип
cvalue выражение не должно быть неявно преобразовано в различный базовый тип.
Это правило гарантирует, что результат выражения не переполняется, когда преобразовано в другой тип.
Выражения, отмеченные этим средством проверки, следуют подробным спецификациям для cvalue выражений от MISRA® Документация C++.
Базовый тип данных cvalue выражения является самым широким из типов данных операнда в выражении. Например, если вы добавляете две переменные, один из типа int8_t
(typedef
для char
) и другой из типа int32_t
(typedef
для int
), сложение имеет базовый тип int32_t
. Если вы присваиваете сумму переменной типа int8_t
, правило нарушено.
Если вы ожидаете нарушение правила, но не видите его, относитесь, чтобы Диагностировать, Почему Кодирующие Стандартные Нарушения Не Появляются как ожидалось.
Группа: Выражения |
Категория: необходимый |