Простой пример:Delphi XE6, 3D массив записей с булевыми полями членов, не будет строить
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
Я пропустил что-то жизненно простое здесь?
И, да, я генерация темницу ;-)
кронштейнов ... Жизненно просто, да. Ошибка компилятора странная, хотя ... –
@Sertac: Я думаю, что компилятор видит в нем своего рода анонимный тип, внутренне называемый '$ 1', вероятно, внутреннюю первичную строку типа Dm. Я предполагаю, что это потому, что объявление представляет собой массив [] массива [] массива [] of ... ', что необычно. Обычно у вас есть 'array [.., .., ..] of ...'. –