E2568 型パラメータ宣言でコンストラクタ制約のない新しいインスタンスを作成できません(Delphi)
エラーと警告のメッセージ(Delphi) への移動
これが発生するのは、暗黙のコンストラクタを持つクラスからジェネリック型が派生され、その際にデフォルト コンストラクタ句が指定されていない場合です。
program E2568;
{$APPTYPE CONSOLE}
uses
SysUtils;
type
TMyClass1 = class
end;
TMyClass2<T: TMyClass1> = class // Fix: replace < T : TmyClass1> with <T : TMyClass1, constructor>
public
procedure Add;
end;
procedure TMyClass2<T>.Add;
begin
T.Create(nil); //E2568
end;
begin
Writeln('E2568 Cannot create new instance without CONSTRUCTOR constraint in type parameter declaration');
end.