【发布时间】:2010-05-14 14:35:15
【问题描述】:
我在第三个类上得到“E2511 Type parameter 'T' must be a class type”。
type TSomeClass=class
end;
ParentParentClass<T>=class
end;
ParentClass<T: class> = class(ParentParentClass<T>)
end;
ChildClass<T: TSomeClass> = class(ParentClass<T>)
end;
我正在尝试为任何数据类型(ParentParentClass)编写一个精简的通用数组包装器,但是因为我无法释放类型标识符(如果 T 是 TObject 则 Tobject(T).Free),我创建了第二个类,这对类类型很有用,所以我可以释放对象。
第三类是我使用包装器的地方,但编译器会抛出该错误。如何编译?
【问题讨论】:
标签: delphi generics delphi-2009 generic-programming