C6269
Ostrzeżenie C6269: możliwe niewłaściwej kolejności operacji: nieprawidłowego ignorowane
To ostrzeżenie wskazuje, że wynik wskaźnika nieprawidłowego jest ignorowana, która wywołuje pytanie, dlaczego jest czym usunąć pierwsze odwołania wskaźnik.
Kompilator będzie poprawnie zoptymalizować away nieodpłatne dereference.Jednakże w niektórych przypadkach tej wady mogą odzwierciedlać błąd pierwszeństwo lub logicznych.
Do częstych wyników tej wady jest instrukcja wyrażenia w formularzu:
*p++;
Jeśli zamiarem niniejszej instrukcji jest po prostu do zwiększania wskaźnik p, następnie znaleźć odwołania nie jest konieczne; Jednakże jeśli zamiarem jest zwiększane lokalizacji, p wskazuje, a następnie program nie będzie działać zgodnie z przeznaczeniem, ponieważ * p ++ konstrukcja jest interpretowana jako * (p++).zamiast (*p)++.
Przykład
Poniższy kod generuje ostrzeżenie to:
#include <windows.h>
void f( int *p )
{
// code ...
if( p != NULL )
*p++;
// code ...
}
Aby skorygować to ostrzeżenie, należy używać nawiasów, jak pokazano w poniższym kodzie:
#include <windows.h>
void f( int *p )
{
// code ...
if( p != NULL )
(*p)++;
// code ...
}