【发布时间】:2018-05-29 13:22:23
【问题描述】:
检查以下代码:
function A(const points: TArray<TPoint>): Boolean;
begin
//Something
end;
procedure B(var pts: array of TPoint)
begin
A(pts); //Compiler error E2010 Incompatible types
end;
它会产生一个编译器错误:
E2010 不兼容的类型:“System.TArray”和“TPoint 数组”
呼叫A(TArray<>(pts)); 不起作用。我解决了问题
A(TArray<TPoint>(@pts));
将开放数组参数类型转换为 TArray 是否正确?还有其他方法吗?
请假设两个函数的参数类型不能改变。
【问题讨论】:
标签: delphi