Адрес объекта с автоматическим хранением не должен быть присвоен другому объекту, который может сохраняться после прекращения существования первого объекта
Адрес объекта с автоматическим хранением не должен быть присвоен другому объекту, который может сохраняться после прекращения существования первого объекта.
Если объект продолжает указывать на другой объект после того, как последний объект перестанет существовать, разыменование первого объекта приводит к неопределенному поведению.
Шашка помечает ситуации, когда адрес локальной переменной назначается указателю, заданному в глобальных возможностях.
Проверка не вызывает нарушений этого правила, если:
Функция возвращает адрес локальной переменной. AUTOSAR C++14 Rule M7-5-1
охватывает эту ситуацию.
Адрес переменной, заданный в возможности, присваивается указателю, который задан с большей возможности, но не с глобальными возможностями.
Для образца:
void foobar ( void ) { char * ptr; { char var; ptr = &var; } }
char * ptr; void foobar ( void ) { char var; ptr = &var; }
Если вы ожидаете нарушения правил, но не видите его, обратитесь к разделу «Стандартные нарушения кодирования не отображаются».
Группа: Декларация |
Категория: Необходимый, Неавтоматизированный |