Значение выражения не должно быть приведено к неподходящему существенному типу
Значение выражения не должно быть приведено к неподходящему существенному типу.
Преобразование между типами переменных
| От | |||||||
| Булев | символ | enum | подписанный | неподписанный | плавание | ||
| Кому | Булев | Избежать | Избежать | Избежать | Избежать | Избежать | |
| символ | Избежать | Избежать | |||||
| enum | Избежать | Избежать | Избежать | Избежать | Избежать | Избежать | |
| подписанный | Избежать | ||||||
| неподписанный | Избежать | ||||||
| плавание | Избежать | Избежать | |||||
Некоторые неуместные явные отливки:
В C99, результат приведения назначения к _Bool всегда 0 или 1. Этот результат не обязательно является случаем при приведении к другому типу, который определяется как по существу логический.
Приведение к существенному типу перечисления может привести к значению, которое не находится в наборе констант перечисления для этого типа.
Приведение от существенного логического к любому другому типу вряд ли будет значимым.
Преобразование между плавающими и символьными типами не имеет значения, так как нет точного отображения между этими двумя представлениями.
Некоторые приемлемые явные отливки:
Чтобы изменить тип, в котором выполняется последующая арифметическая операция.
Чтобы обрезать значение преднамеренно.
Сделать преобразование типа явным в интересах ясности.
Для получения дополнительной информации о важных типах смотрите MISRA C:2012 Rule 10.1.
Если вы ожидаете нарушения правил, но не видите его, обратитесь к разделу «Стандартные нарушения кодирования не отображаются».
| Группа: Модель Essential Type |
| Категория: Консультационные |
| Категория СМЖЛ: Консультационная |