[fpc-pascal] Generics
Peter Vreman
peter at freepascal.org
Mon Mar 31 18:03:27 CEST 2008
>>>> 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
More information about the fpc-pascal
mailing list