SA0061: İşaretçi üzerinde olağandışı işlemPermalink

‎=‎ (eşitlik), ‎<>‎ (eşitsizlik), ‎+‎ (toplama) veya ‎ADR‎ olmayan ‎POINTER TO‎ türündeki bir değişkeni algılar.

CODESYS adresinde işaretçi aritmetiğine genellikle izin verilir ve uygun şekilde kullanılabilir. Bu nedenle, bir tamsayı değerine sahip bir işaretçinin eklenmesi, işaretçiler üzerinde yaygın bir işlem olarak kabul edilir. Bu, değişken uzunluktaki bir diziyi işlemek için bir işaretçi kullanmayı mümkün kılar. İşaretçilerle yapılan diğer tüm (olağandışı) işlemler SA0061 ile bildirilir.

Önemliymiş: Yüksek

PLCopen kuralı: E2 / E3

Örnek

PROGRAM PLC_PRG
VAR
	piTemp : POINTER TO INT;	
	iTemp : INT;
END_VAR

iTemp := iTemp + INT#1;
piTemp := ADR(iTemp);
piTemp := piTemp * DWORD#5;   // SA0061
piTemp := piTemp / DWORD#2;   // SA0061
piTemp := piTemp MOD DWORD#3; // SA0061
piTemp := piTemp + DWORD#1;
piTemp := piTemp - DWORD#1;   // SA0061

--> SA0061: Unusual operation on pointer