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) - Index

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.