这是Delphi 2009中的一个错误吗



它看起来确实是一个bug,但我只有试用版,所以可能已经修复了。

ITestInterface = interface
  ['{9445CED8-4DBA-4EDB-9897-60980B438BE4}']
  procedure Foo1;
  procedure Foo2;
end;
TTest = class(TInterfacedObject, ITestInterface)
end;

以上内容将不会编译。但以下内容确实如此!

ITestInterface<t> = interface
  ['{9445CED8-4DBA-4EDB-9897-60980B438BE4}']
  procedure Foo1;
  procedure Foo2;
end;
TTest<T> = class(TInterfacedObject, ITestInterface<T>)
end;

编辑:我刚刚发现,如果你尝试实例化TTest,它会失败。所以有点前后矛盾,但也没那么糟糕!

是的,一个错误。http://qc.codegear.com/是报告错误的地方。

相关内容

最新更新