MISRA C++:2008 Rule 5-2-7

Объект с типом указателя не должен быть преобразован в несвязанный тип указателя, ни один прямо или косвенно

Описание

Примечание

Используйте Bug Finder вместо Code Prover для проверки правил кодирования. Поддержка кодирования правил, регистрируясь в Code Prover будет удалена в будущем релизе. См. Вопросы совместимости.

Управляйте определением

Объект с типом указателя не должен быть преобразован в несвязанный тип указателя, ни один прямо или косвенно.

Объяснение

Если вы преобразуете указатель на указатель несвязанного типа, результат операции не задан. Чтобы избежать неожиданных результатов, не преобразуйте указатели на несвязанный тип указателя.

Реализация Polyspace

Средство проверки отмечает все преобразования указателя включая между указателем на struct возразите и указатель на первый член того же struct ввод.

Косвенные преобразования от указателя до неуказательного типа не обнаруживаются.

Поиск и устранение проблем

Если вы ожидаете нарушение правила, но не видите его, относитесь, чтобы Диагностировать, Почему Кодирующие Стандартные Нарушения Не Появляются как ожидалось.

Проверяйте информацию

Группа: Выражения
Категория: необходимый

Вопросы совместимости

развернуть все

Не рекомендуемый запуск в R2021b

Введенный в R2013b