Erreur du compilateur C0509
Message: Les affectations multiples pour l'opérateur '__New' ne sont pas autorisées
Cause possible de l'erreur: Dans une ligne de code, l'opérateur d'affectation ":=
" est appelé un nombre multiple de fois avec le __New
opérateur.
Correction des erreurs: Programmer l'allocation mémoire avec le __New
opérateur dans une ligne de code distincte pour chaque pointeur qui pointe vers la mémoire allouée dynamiquement.
Exemple 479. Exemple d'erreur :
PROGRAM PLC_PRG VAR pbAlpha : POINTER TO BYTE; // Typed pointer to Alpha pbBeta: POINTER TO BYTE; // Typed pointer to Beta xInit : BOOL := TRUE; xDelete : BOOL; END_VAR IF (xInit) THEN pbBeta := pbAlpha := __NEW(BYTE); // Incorrect code for memory allocation END_IF pbBeta := pbAlpha := 16#01; IF (xDelete) THEN __DELETE(pbAlpha); // Frees memory of pointer END_IF
Message:
C0509 : affectations multiples pour l'opérateur '__NEW' non autorisées
Correction des erreurs:
PROGRAM PLC_PRG VAR pbAlpha : POINTER TO BYTE; // Pointer to Alpha pbBeta: POINTER TO BYTE; // Pointer to Beta xInit : BOOL := TRUE; xDelete : BOOL; END_VAR IF (xInit) THEN pbAlpha := __NEW(BYTE); // Allocates memory for Alpha pbBeta := __NEW(BYTE); // Allocates memory for Beta END_IF pbBeta := pbAlpha := 16#01; // Multiple assignment IF (xDelete) THEN __DELETE(pbAlpha); // Frees memory of pointer END_IF
Pour plus d'informations, consultez : __NEW