Для реализации алгоритмов с косвенной рекурсией в языке Delphi предусмотрена специальная директива предварительного описания подпрограммforward. Предварительное описание состоит из заголовка подпрограммы и следующего за ним зарезервированного слова forward, например:
procedure Proc; forward;function Func(X: Integer): Boolean; forward; |
Заметим, что после такого первичного описания в полном описании процедуры или функции можно не указывать список формальных параметров и тип возвращаемого значения (для функции), исключая перегруженные подпрограммы. Например:
procedure Proc2(<формальные параметры>); forward; procedure Proc1;begin ... Proc2(<фактические параметры>); ...end; procedure Proc2; // Список формальных параметров опущенbegin ... Proc1; ...end; begin ... Proc1; ...end. |
Директива forwardне нужна, если заголовки подпрограмм объявлены в секции Interface.