Преобразования не должны выполняться между указателем на функцию и любым другим типом
Преобразования не должны выполняться между указателем на функцию и любым другим типом.
Правило запрещает следующие два преобразования:
Преобразование от указателя функции до любого другого типа. Это преобразование вызывает неопределенное поведение.
Преобразование от указателя функции до другого указателя функции, если указатели функции имеют различный аргумент и возвращают типы.
Преобразование запрещается, потому что вызывание функции через указатель с несовместимым типом приводит к неопределенному поведению.
Polyspace® рассматривает и явные и неявные броски при проверке этого правила. Однако броски от NULL
или (void*)0
не нарушайте это правило.
Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.
Группа: преобразования типа указателя |
Категория: необходимый |
Категория AGC: необходимый |