Skip to main content

SA0061:ポインタの異常な操作

タイプの変数に対する操作を決定します POINTER TOそれはしません = (平等)、 <> (不平等)、 + (追加)または ADR それは。

CODESYS ポインタ演算は一般的に許可されており、賢明に使用することもできます。したがって、整数値を持つポインターの追加は、ポインターに対する通常の操作として分類されます。これにより、ポインタを使用して可変長の配列を処理できます。ポインタを使用する他のすべての(異常な)操作は、SA0061で報告されます。

重要性:高い

PLCopenルール:E2 / E3

72.
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

での出力 メッセージ ビュー:

  • sa_icon_message.png SA0061: ポインタに対する異常な操作