具有泛型类型的此声明将不会编译
type
TFoo<T> = record
Value : T;
end;
TFooo = TFoo<TFoo<Int64>>; // this is fine
TFoooooInt64 = TFoo<TFoo<TFoo<Int64>>>; // E2564
Run Code Online (Sandbox Code Playgroud)
因为
E2564未定义类型'
TFoo<T>'
错误E2564被记录为
尝试使用自身对通用类型定义类型约束时,会发生这种情况。
Run Code Online (Sandbox Code Playgroud)program E2564; {$APPTYPE CONSOLE} type TRec<T: record> = record A: T; end; TClass = record V: TRec<TClass>; //E2564 end; begin end.
但这不是这里的情况。
这是一个错误还是记录了此限制?
| 归档时间: |
|
| 查看次数: |
231 次 |
| 最近记录: |