SA0007: 定数のアドレス演算子
演算子が存在するコード行を検索します ADR 定数に適用されます。
理由:定数変数へのポインターは、 CONSTANT変数のプロパティ。変数は、コンパイラーがこれを報告しなくても、ポインターを介して変更できます。
例外:まれに、定数へのポインタを関数に転送することが理にかなっている場合があります。ただし、この関数が転送された値を変更しないことを確認する必要があります。可能であれば使用する VAR_IN_OUT CONSTANT。
重要性:高い
ヒント
とき 定数を置換する オプションが選択されています コンパイラオプション プロジェクト設定のアドレス演算子はスカラー定数 (整数、 BOOL、 REAL)とコンパイルエラーが発生します。 (定数文字列、構造体、配列には常にアドレスがあります。)
例 19. 例
PROGRAM PLC_PRG
VAR CONSTANT
c_iValue : INT := INT#15;
END_VAR
VAR
poiValue : POINTER TO INT;
END_VAR
poiValue := ADR(c_iValue); // SA0007
での出力 メッセージ ビュー:
SA0007: 定数変数 'c_iValue' へのアドレス