Не должно быть никаких неявных интегральных плаванием преобразований
Примечание
Используйте Bug Finder вместо Code Prover для проверки правил кодирования. Поддержка кодирования правил, регистрируясь в Code Prover будет удалена в будущем релизе. См. Вопросы совместимости.
Не должно быть никаких неявных интегральных плаванием преобразований.
Если вы преобразуете от плавающей точки до целочисленного типа, вы теряете информацию. Если вы явным образом не бросаете от плавающей точки до целочисленного типа, не ясно, предназначается ли потеря информации. Кроме того, если значение с плавающей точкой не может быть представлено в целочисленном типе, поведение не определено.
Преобразование от целого числа до типа с плавающей точкой может привести к неточному представлению значения. Ошибка от преобразования может накопиться по более поздним операциям и привести к неожиданным результатам.
Средство проверки отмечает неявные преобразования между типами с плавающей точкой (float
и double
) и целочисленные типы (short
, int
, и т.д.).
Это правило более приоритетно по сравнению с 5-0-4 и 5-0-6, если они применяются одновременно.
Если вы ожидаете нарушение правила, но не видите его, относитесь, чтобы Диагностировать, Почему Кодирующие Стандартные Нарушения Не Появляются как ожидалось.
Группа: Выражения |
Категория: необходимый |