Rileva le conversioni di puntatori generate implicitamente
Giustificazione: In CODESYS, i puntatori non sono strettamente tipizzati e possono essere assegnati l'uno all'altro
in qualsiasi modo. Questo è spesso usato e quindi non viene segnalato dal compilatore.
Tuttavia, può anche causare accidentalmente un accesso inatteso. Se si assegna un
POINTER TO BYTE a un POINTER TO DWORD, è possibile sovrascrivere involontariamente la memoria utilizzando quest'ultimo
puntatore. Pertanto, controllare sempre questa regola e bloccare il messaggio nei
casi in cui si voglia intenzionalmente accedere a un valore di tipo diverso.
Le conversioni implicite dei tipi di dati vengono segnalate con un messaggio diverso.
Importanza: Alto
Regola PLCopen: CP25
Eccezione: BOOL <-> BIT
Esempio
PROGRAM PLC_PRG VAR pINT : POINTER TO INT; byteVar : BYTE; END_VAR pINT := ADR(byteVar); --> SA0019: Implicit conversion from pointer to 'POINTER TO BYTE' to pointer to 'POINTER TO INT'