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