6

Delphi 7 または Delphi XE でコンパイルすると、以下のコードで問題が発生します。

[DCC Error] Project1.dpr(25): E2010 Incompatible types: 'array of Char' and 'TAChar'

ルディの記事によると、型付き配列をオープン配列に渡すことを許可する必要がありますか?

さらに、'array of Boolean' と 'TABoolean' に対して不平を言わないのはなぜですか?

助けてくれてありがとう!

program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

type
  TAChar = array of Char;
  TABoolean = array of Boolean;

procedure Test1(const CharArr: array of Char);
begin
end;

procedure Test2(const BoolArr: array of Boolean);
begin
end;

var
  Arr1: TAChar;
  Arr2: TABoolean;
begin
  try
    Test1(Arr1);  //  <------- Does not compile in Delphi 7 & XE
    Test2(Arr2);
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.
4

1 に答える 1