如果满足以下条件中的至少一个条件,则两种不同类型是兼容的。
两者都是具有相同字符数的打包字符串类型。
然而,在Delphi东京,这不会编译:
procedure TForm2.Button3Click(Sender: TObject);
var
LSource: packed array [0..3] of Char;
LTarget: packed array [0..3] of Char;
begin
LSource := '1234';
LTarget := LSource; // ← ← ← E2008 Incompatible types
ShowMessage(LTarget);
end;
关于打包字符串的文档不多。使用packed array[1..4]
会从字符串文字中断分配。删除packed
标识符完全没有变化。我错过了什么吗?