Skip to main content

SA0124 : Déréférencement de pointeur dans la partie déclaration

Détermine les déréférences de pointeur utilisées pour l'initialisation dans la partie déclaration.

Justification : Les pointeurs et les références ne doivent pas être utilisés pour les initialisations car cela peut conduire à des violations d'accès si le pointeur n'a pas été initialisé.

Importance : Moyenne

Exemple 111. Exemple
TYPE TESTSTRUCT :
STRUCT
    xA : BOOL;
    xB : BOOL;
END_STRUCT
END_TYPE
FUNCTION_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();

Sortie dans le messages voir:

  • sa_icon_message.png SA0124 : Déréférences de pointeurs dans les déclarations