E2568 Impossible de créer une nouvelle instance sans la contrainte CONSTRUCTOR dans la déclaration du paramètre type (Delphi)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Messages d'erreur et d'avertissement (Delphi)

Cette erreur se produit quand le type générique est dérivé d'une classe ayant un constructeur implicite et quand la clause constructeur par défaut n'est pas mentionnée.


 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.