C6269
upozornění C6269: možné nesprávné pořadí operací: ignorováno zrušení reference
Toto upozornění indikuje, že výsledek přístupu přes ukazatel je ignorován, což vyvolává otázku, proč je vlastně použito přístupu přes ukazatel.
Kompilátor bude správně optimalizovat bezdůvodné dereference.V některých případech však tato vada může odrážet prioritu nebo logickou chybu.
Obvyklou příčinou této vady je výraz ve formuláři:
*p++;
Pokud záměr tohoto prohlášení je jednoduše zvýšit ukazatel p, pak vyhodnotit odkazy je zbytečné; Nicméně pokud je třeba zvýšit umístění, p ukazuje, pak program nebude chovat tak, jak má, protože * p ++ konstrukce je interpretována jako * (p++). místo (*p)++.
Příklad
Následující kód generuje toto upozornění:
#include <windows.h>
void f( int *p )
{
// code ...
if( p != NULL )
*p++;
// code ...
}
Chcete-li opravit toto upozornění, použijte závorky tak, jak je ukázáno v následujícím kódu:
#include <windows.h>
void f( int *p )
{
// code ...
if( p != NULL )
(*p)++;
// code ...
}