E2016 配列型が必要です (Delphi)

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

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

このエラーメッセージは配列でないオペランドに対してインデックスを指定した場合か,オープン配列パラメータに配列でない引数を渡した場合に表示されます。


program Produce;
var
  P: ^Integer;
  I: Integer;
begin
  Writeln(P[I]);
end.

{ 整数へのポインタにインデックスを適用しようとする。これは C では合法だが Delphi では違法である }


program Solve;
type
  TIntArray = array [0..MaxInt DIV sizeof(Integer)-1] of Integer;
var
  P: ^TIntArray;
  I: Integer;
begin
  Writeln(P^[I]);   (*P[I] としても正しい*)
end.

{ Delphi 言語では P が整数配列へのポインタであるということをコンパイラに明示しなければならない }