Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Теоретические вопросы _ Запись A ссылается на B, B ссылается на A, как разрулить?

Автор: TarasBer 28.11.2011 19:36

Странно, что только сейчас это стало проблемой.


type
PPoint = ^TPoint;
PLink = ^TLink; // Undeclared identifier: TLink;

TPoint = record
x,y: integer;
border: boolean;
lnk: array [0..7] of PLink;
end;

type TLink = record // Identifier redeclared: TLink;
p1,p2: PPoint;
end;



Автор: IUnknown 28.11.2011 19:41

type
PPoint = ^TPoint;
PLink = ^TLink; // Undeclared identifier: TLink;

TPoint = record
x,y: integer;
border: boolean;
lnk: array [0..7] of PLink;
end;

(*type*) TLink = record // Ok
p1,p2: PPoint;
end;
Опережающие описания допустимы только в пределах в одной секции Type...

Автор: TarasBer 28.11.2011 19:53

Всё, я понял, почему раньше такой проблемы не возникало.
Это у меня с недавних пор (после знакомства с другим языком) пошла привычка перед каждым типом писать type, перед каждой константой const итд.