Описание
Проблема происходит, когда указатель на объект FILE
разыменовывается.
Риск
Стандарт утверждает, что адрес объекта FILE
, используемого, чтобы управлять потоком, может быть значительным. Копирование, что объектная сила не дает то же поведение. Это правило гарантирует, что вы не можете выполнить такую копию.
Непосредственно управление объектом FILE
может быть несовместимым с его использованием в качестве потокового указателя.
Пример - разыменованный указатель FILE*
#include <stdio.h>
void func(void) {
FILE *pf1;
FILE *pf2;
FILE f3;
pf2 = pf1; /* Compliant */
f3 = *pf2; /* Non-compliant */
pf2->_flags=0; /* Non-compliant */
}
В этом примере нарушено правило, когда указатель FILE*
pf2
разыменовывается.