E2513 型パラメータ '%s' にはパラメータなしの Create という public コンストラクタが 1 つ必要です(Delphi)

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

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


このエラーは、ジェネリック型にパラメータなしの public コンストラクタが存在しないときに発生します。


 program E2513;
 
 {$APPTYPE CONSOLE}
 
 uses
   SysUtils;
 
 type
   TMyClass = class
   private
     constructor Create();
   end;
 
   TMyGenericClass<T: constructor> = class
   end;
 
 constructor TMyClass.Create();
 begin
   //
 end;
 
 var
   GenObj: TMyGenericClass<TMyClass>;
   anObj: TMyClass;
 
 begin
    anObj := TMyClass.Create();
    Writeln('E2513 Type parameter ''%s'' must have one public parameterless constructor named Create');
 end.