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