delphi - 当我声明通用 "array of T"时,我应该如何处理内部错误?

标签 delphi generics delphi-xe2

此单元无法在 XE2 Update 3 中编译,并显示“[DCC Fatal Error] Test.pas(22): F2084 Internal Error: URW1147”

unit Test;

interface

type
  TSorter<T> = procedure(var Values: array of T);

  TTest = class
  public
    procedure Sort<T>(const Sorter: TSorter<T>);
  end;

implementation

procedure TTest.Sort<T>(const Sorter: TSorter<T>);
begin
end;

end.

我已提交QC报告:QC#103671 .

有人知道解决这个问题的方法吗?

最佳答案

如果将 TSorter 声明替换为 TSorter<T> = procedure(var Values: TArray<T>);它在 XE 上编译得很好。

关于delphi - 当我声明通用 "array of T"时,我应该如何处理内部错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9429484/

相关文章:

c# - 如何在不知道确切类型声明的情况下执行通用接口(interface)方法

delphi - 将项目从 XE 升级到 XE2 后 vrc 文件出现问题

delphi - 将页面控件定义为 jvcl DockerServer.custom Dock 面板。是否可以?

performance - 创建和慢表示大量 TLabel 运行时

delphi - RLINK32 : Error opening file "...\Data.DFM". 打开Delphi后第一次构建项目时发生

delphi - 如何按第一个数字对列表进行排序?

android - 动态功能 Activity 未加载,卡在安装中

泛型和 Xstream

delphi - “从未使用过的值”更改为 'variable not initialized'

arrays - Delphi将动态记录数组传递给函数