x1019: for 文の制御変数はローカル変数でなければなりません (Delphi)

提供: RAD Studio
移動先: 案内検索

エラーと警告のメッセージ(Delphi) への移動


このエラーメッセージは,for 文の制御変数が単純変数でない(たとえば,レコードのコンポーネントになっている)か,for 文が入っている手続きのローカル変数でない場合に表示されます。

下位互換性のために,グローバル変数を制御変数として使用することもできますがコンパイラは警告を表示します。ローカル変数を使った方が効率的なコードを生成できる点に注意してください。


program Produce;

var
  I: Integer;
  A: array [0..9] of Integer;

procedure Init;
begin
  for I := Low(A) to High(a) do  (*<-- ここで警告*)
    A[I] := 0;
end;

begin
  Init;
end.
	program Solve;
var
  A: array [0..9] of Integer;

procedure Init;
var
  I: Integer;
begin
  for I := Low(A) to High(a) do
    A[I] := 0;
end;

begin
  Init;
end.