尽管德尔福参考说
结构化类型可以包含其他结构化类型;一个类型可以有无限的结构层次
除了明显的例外是什么结构化类型的常量
不能包含任何级别的文件类型值
我发现我不能将记录常量用作相同类型的数组常量的元素。
测试用例
type
MyRecord = record MyField: Integer end;
const
Typical: array[0..1] of MyRecord = ((MyField: 0), (MyField: 1));
{ now I tried to achieve more clarity by declaring a specific constant }
Zero: MyRecord = (MyField: 0);
{ and compiler refused to accept that }
Bad: array[0..1] of MyRecord = (Zero, (MyField: 1)); { E2029 '(' expected but identifier 'Zero' found }
我用几个 Borland 编译器测试了这段代码,它们都表现出相同的行为。UPD:对于 FPC 也一样,但对于 GPC(!) 则不然。
问题)
这里发生了什么?我对问题标题中的“不支持嵌套结构化类型的嵌套常量”的结论是否正确?再分析一个问题?