Skip to main content

SA0017: Asignación inusual a variable de puntero

Detecta asignaciones a punteros que no son direcciones (ADR operador, variables de puntero) ni constantes 0

Justificación: Si a un puntero se le asigna un valor que no es una dirección válida, la desreferenciación del puntero conduce a una "Excepción de infracción de acceso".

Importancia: Alta

ejemplo 30. Ejemplo
PROGRAM PLC_PRG
VAR
    pInt : POINTER TO INT;
    dwAddress : DWORD;
END_VAR
dwAddress := dwAddress + DWORD#1;
pInt := dwAddress; // SA0017

Salida en el Mensajes vista:

  • sa_icon_message.png SA0017: Asignación inusual a variable de puntero