我有一个泛型列表,我想在其中放入一些记录或一些类
- TMyList<T> = class
- private
- fCount: Cardinal;
- fItems: array of T;
- public
- constructor Create(aSize: Integer);
- procedure UpdateItem(const x: T);
- end;
但我不能编译
- procedure TMyList<T>.UpdateItem(const x: T);
- var
- I: integer;
- begin
- for I := 0 to fCount - 1 do
- if fItems[I] = x then begin // <- error E2015
- //do update
- break;
- end;
- end;
它适用于具有此声明的类:TMyList< T:class> = class,但它不能再保存记录了.
当然,对于记录我声明类运算符Equal(Left,Right:TMyRecord):Boolean;这样MyRecord1 = MyRecord2就可以编译了.