本文介绍了当我声明一个通用的“T的数组”时,我应该怎样处理内部错误?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
本机无法在XE2 Update 3中使用[DCC致命错误] Test.pas(22):F2084内部错误:URW1147进行编译
This unit fails to compile in XE2 Update 3 with "[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报告:。
有人对此有一个解决方法的想法?
Does anyone have an idea about workaround for this?
推荐答案
如果将TSorter声明替换为 TSorter< T> = procedure(var Values:TArray< T>);
它在XE上编译得很好。
If you replace TSorter declaration with TSorter<T> = procedure(var Values: TArray<T>);
it compiles fine on XE.
这篇关于当我声明一个通用的“T的数组”时,我应该怎样处理内部错误?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!