Skip to main content

SA0180: インデックス範囲が配列全体をカバーしていません

インデックス範囲が不完全にカバーされている配列を検出します

配列はループ内で処理されることが多く、ループ インデックスによって配列にインデックスが付けられるため、配列のすべてのコンポーネントが隙間なくジャンプされます。これは、ループ インデックスと配列インデックスがすべての次元で同じである場合に与えられます。インデックス範囲が配列を完全にカバーしていない場合、これは配列内の未処理のコンポーネントを示します。

重要度: 中

131.
{attribute 'do-analysis'}
PROGRAM PLC_PRG
VAR
    a : INT;
    arWord : ARRAY [0..100] OF WORD;
END_VAR
//Implementation
FOR a := INT#1 TO INT#100 BY 1 DO //SA0180: Lower range is not reached
	arWord[a] := INT_TO_WORD(a);
END_FOR;
;

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

  • sa_icon_message.png SA0180: インデックス範囲が配列全体をカバーしていません