Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays Delphi XE6,带有布尔成员字段的三维记录数组,赢得';t构建_Arrays_Delphi_Compiler Errors_Boolean_Record - Fatal编程技术网

Arrays Delphi XE6,带有布尔成员字段的三维记录数组,赢得';t构建

Arrays Delphi XE6,带有布尔成员字段的三维记录数组,赢得';t构建,arrays,delphi,compiler-errors,boolean,record,Arrays,Delphi,Compiler Errors,Boolean,Record,简单的例子: 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 nam

简单的例子:

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;

括号。。。非常简单,是的。编译器错误很奇怪…@Sertac:我猜编译器认为它是某种匿名类型,内部称为
$1
,可能是Dm类型的内部主行。我想这是因为声明是
array[]of array[]of array[]of…
,这是不寻常的。通常情况下,您有一个数组[…,…]of…。您能解释一下第一条编译器消息的含义吗?我很困惑,通常delphi编译器消息非常友好…我无法重现您在我的XE6中显示的错误。该行失败,改为“E2066缺少运算符或分号”。