E2193 Slice はオープン配列引数としてしか使用できません (Delphi)

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

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

固定サイズの配列へ配列スライスを渡そうとしました。配列スライスはオープン配列パラメータにのみ送れます。なし。


program Produce;

  type
    IntegerArray = array [1..10] OF Integer;

  var
    SliceMe : array [1..200] OF Integer;

  procedure TakesArray(x : IntegerArray);
  begin
  end;

begin TakesArray(SLICE(SliceMe, 5));
end.

{ このコードでは TakesArray が固定サイズの配列を期待しているためにエラーが生成される }


program Solve;

  type
    IntegerArray = array [1..10] OF Integer;

  var
    SliceMe : array [1..200] OF Integer;

  procedure TakesArray(x : array of Integer);
  begin
  end;

begin TakesArray(SLICE(SliceMe, 5));
end.

{ このコードでは TakesArray がパラメータとしてオープン配列をとるのでエラーは生成されない }