SA0019: Örtük işaretçi dönüşümleriPermalink

Örtük olarak oluşturulan işaretçi dönüşümlerini algılar

Gerekçe: CODESYS adresinde işaretçiler katı bir şekilde yazılmamıştır ve birbirlerine herhangi bir şekilde atanabilirler. Bu genellikle kullanılır ve bu nedenle derleyici tarafından raporlanmaz. Ancak, yanlışlıkla beklenmedik erişime de neden olabilir. Bir ‎POINTER TO BYTE‎ adresini bir ‎POINTER TO DWORD‎ adresine atarsanız, ikinci işaretçiyi kullanarak istemeden belleğin üzerine yazabilirsiniz. Bu nedenle, bu kuralı her zaman kontrol edin ve kasıtlı olarak farklı türde bir değere erişmek istediğiniz durumlar için mesajı engelleyin.

Örtük veri türü dönüşümleri farklı bir mesajla bildirilir.

Önemliymiş: Yüksek

PLCopen kuralı: CP25

İstisna: ‎BOOL‎ <-> ‎BIT‎

Örnek

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'