【发布时间】:2020-02-21 08:02:35
【问题描述】:
我正在尝试将动态数组类型分配给 TArray<string> 变量
type
TMyStringArray = array of string;
function Test() : TMyStringArray;
begin
...
end;
...
var
MyArray : TArray<string>;
begin
MyArray := Test();
end;
在编译时,Delphi 说:
[dcc32 错误] Unit1.pas(39): E2010 不兼容的类型: 'System.TArray' 和 'TMyStringArray'
【问题讨论】:
-
这个问题在“数组类型和赋值”部分的documentation 中有介绍:“数组只有在相同类型时才是赋值兼容的>."
TMyStringArray和TArray<string>不是同一类型。 -
为了完整起见,这里应该已经指出
TArray<string>是一个动态的字符串数组;它被定义为array of string。
标签: arrays delphi delphi-xe7