Описание
Проблема происходит когда указатель на 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
разыменовывается.