Hello,
How to use this code below in mode objfpc?:
TMyGeneric<T> = class(TObject)
private
FValue: T;
public
property Value: T read FValue write FValue;
end;...
var
VMyGenericStr: TMyGeneric<Integer>;
VMyGenericInt: TMyGeneric<string>;
begin
VMyGenericStr := TMyGeneric<Integer>.Create;
VMyGenericStr.Value := 2014;
VMyGenericStr.Free;
VMyGenericInt := TMyGeneric<string>.Create;
VMyGenericInt.Value := 'Delphi Generics';
VMyGenericInt.Free;
end;When I try:
generic TMyGeneric<T> = class(TObject)
private
FValue: T;
public
property Value: T read FValue write FValue;
end;...
var
VMyGenericStr: specialize TMyGeneric<Integer>;
VMyGenericInt: specialize TMyGeneric<string>;
begin
VMyGenericStr := TMyGeneric<Integer>.Create;
VMyGenericStr.Value := 2014;
VMyGenericStr.Free;
VMyGenericInt := TMyGeneric<string>.Create;
VMyGenericInt.Value := 'Delphi Generics';
VMyGenericInt.Free;
end;I got:
Error: Illegal expression
Error: Operator is not overloaded: "Class Of TMyGeneric$1" < "LongInt" Fatal: Syntax error, ";" expected but "identifier CREATE" found
Thank you!
ps: FPC from trunk.
