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