SA0124: Dereferenziazione puntatore nella parte di dichiarazione
Determina i dereferences del puntatore utilizzati per l'inizializzazione nella parte di dichiarazione.
Motivazione: Puntatori e riferimenti non dovrebbero essere utilizzati per le inizializzazioni perché ciò può portare a violazioni di accesso se il puntatore non è stato inizializzato.
Importanza: Media
Esempio 111. Esempio
TYPE TESTSTRUCT :
STRUCT
xA : BOOL;
xB : BOOL;
END_STRUCT
END_TYPEFUNCTION_BLOCK FB_Test
VAR_INPUT
pTeststruct : POINTER TO TESTSTRUCT;
END_VAR
VAR
xA : BOOL := pTeststruct^.xA; //SA0124
END_VAR
xA := TRUE;
PROGRAM PLC_PRG
VAR
fbTest : FB_Test;
END_VAR
fbTest();
Uscita in Messaggi vista:
SA0124: Dereferenziamenti dei puntatori nelle dichiarazioni