Бросок не должен выполняться между указателем на тип объекта и указателем на различный тип объекта
Примечание
Используйте Bug Finder вместо Code Prover для проверки правил кодирования. Поддержка кодирования правил, регистрируясь в Code Prover будет удалена в будущем релизе. См. Вопросы совместимости.
Бросок не должен выполняться между указателем на тип объекта и указателем на различный тип объекта.
Если указатель на объект брошен в указатель на различный объект, получившийся указатель может быть неправильно выровнен. Неправильное выравнивание вызывает неопределенное поведение.
Даже если преобразование производит указатель, который правильно выравнивается, поведение может быть не определено, если указатель используется, чтобы получить доступ к объекту.
Исключение: можно преобразовать указатель на тип объекта в указатель на один из следующих типов:
char
signed char
unsigned char
Если вы ожидаете нарушение правила, но не видите его, относитесь, чтобы Диагностировать, Почему Кодирующие Стандартные Нарушения Не Появляются как ожидалось.
Группа: преобразования типа указателя |
Категория: необходимый |
Категория AGC: необходимый |
MISRA C:2012 Rule 11.4
| MISRA C:2012 Rule 11.5
| MISRA C:2012 Rule 11.8
| Check MISRA C:2012 (-misra3)