Цитата:
Сообщение от Novikov
Это как так?) какой смысл тогда в обще что компилятор запрещает писать о том что не объявлено выше?
|
Потому что, то что не объявлено компилятор не знает как компилировать и вообще не знает возможно ли будет скомпилировать. А это называется предварительное (опережающее) объявление и после такого обявления компилятор уже будет знать что переменные этого типа будут занимать 4 байта (для 32-битного приложения).
Но в единственном случае компилятор всё-же разрешает в объявлении ссылаться на ещё не объявленный тип - при объявлении указателя на этот тип:
Код:
type
PMyType = ^TMyType;
TMyType = Integer;
Это возможно, так как компилятор знает что все указатели имеют размер 4 байта (для 32-битного приложения).Только это должно быть в одной секции
type, впрочем как и в случае предварительного объявления.