[fpc-pascal] Generics
Damien Gerard
milipili at shikami.org
Mon Mar 31 18:29:27 CEST 2008
Le Mar 31, 2008 à 6:03 PM, Peter Vreman a écrit :
>>>>> 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.
>
Oki I understand.
I tried to use an Interface but I had a nice Segementation fault :)
Should I report it as a bug in the mantis ?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: foo.pas
Type: application/octet-stream
Size: 4342 bytes
Desc: not available
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20080331/706dd62e/attachment.obj>
-------------- next part --------------
--
Damien Gerard
milipili at shikami.org
"Intelligence is 10 million rules."
-- Douglas Lenat
More information about the fpc-pascal
mailing list