简单的例子:
type
TGm = record
Rm,Nc,Sc,Wc,Ec,Su,Sd:boolean;
end;
var
Dm: Array[1..20] of Array[1..20] of Array[1..20] of TGm;
Gm: TGm;
...
if (Dm(z,y-1,x).Ec) then Gm.Wc := TRUE;
当我尝试构建时,将标记最后一行,并显示两个错误:
'$1' does not contain a member named 'Ec'
Type of expression must be BOOLEAN
我在这里错过了非常简单的事情吗?
而且,是的,我正在生成地牢;-)
最佳答案
您在需要括号的地方使用括号。它应该看起来像这样:
if Dm[z][y-1][x].Ec then Gm.Wc := TRUE;
我建议改用一个多维数组:
var
Dm: Array[1..20, 1..20, 1..20] of TGm;
Gm: TGm;
...
if Dm[z,y-1,x].Ec then Gm.Wc := TRUE;
关于arrays - Delphi XE6,带有 boolean 成员字段的记录的3D数组,不会建立,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38492264/