I would like to make a generic class, like this :

{$mode objfpc}

generic TMCollection<_T> = class(TObject)
private
  FDefaultItem: _T;  // line 35
public
  constructor Create;
  destructor Destroy;override;
  [...]
end;


But I have got the following :
commons.pas(35,21) Error: Identifier not found "_T"
commons.pas(35,21) Error: Error in type definition
commons.pas(39,34) Error: Identifier not found "_T"
commons.pas(44,84) Error: Identifier not found "_T"

According to the documentation, I should use `var private`, but I
have got :

Compiling ./commons.pas
commons.pas(33,3) Error: VAR and TYPE are allowed only in generics
commons.pas(35,21) Error: Identifier not found "_T"

Could someone tell me where I am wrong ?

The forward declaration of TMCollection makes it a normal class and not a generic class.

Peter

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to