Program testforward;
Procedure First (n : longint); forward; Procedure Second; begin WriteLn ('In second. Calling first...'); First (1); end; Procedure First (n : longint); begin WriteLn ('First received : ',n); end; begin Second; end. |
A function can be de ned as forward only once. Likewise, in units, it is not allowed to have a forward declared function of a function that has been declared in the interface part. The interface declaration counts as a forward declaration. The following unit will give an error when compiled:
Unit testforward;
interface Procedure First (n : longint); Procedure Second; implementation Procedure First (n : longint); forward; Procedure Second; begin WriteLn ('In second. Calling first...'); First (1); end; Procedure First (n : longint); begin WriteLn ('First received : ',n); end; end. |