在Delphi中是否有任何解决方法来创建相互引用记录?下面的代码的简化版本:Delphi中的相互引用记录(Win32)
MyRec1 = record
arr: MyRec2Array;
end;
MyRec2 = record
mr: MyRec1;
end;
MyRec2Array = array of MyRec2;
记录类型显然向前声明
MyRec2 = record;
不德尔福为Win32工作。
切换到类而不是记录不好,因为这会增加内存消耗和代码复杂性,所以我宁愿留下记录。
有什么建议吗?
可能重复:http://stackoverflow.com/questions/2420650/cross-reference-between-delphi-records – 2010-07-11 10:07:18
这是没有意义的。如果我们假设每个MyRec2Array的长度是固定的并且非零,那么您试图创建一个数据结构,它将占用无限多个字节... – 2010-07-11 12:52:43
@Andreas Rejbrand - MyRec2Array是* dynamic *数组。 – Alex 2010-07-11 13:47:57