[日积月累]-20180622:前向声明关键字 forward

【格式】

函数声明;forward;

【用途】

forward 关键字用于前向声明一个局部函数,比如:

 function Calculate(X, Y: Integer): Real; forward;

声明了一个 Calculate 函数,那么后面必需重新声明并实现这个函数,类似于下面:

function Calculate;
   ... { declarations }
 begin
   ... { statement block }
 end;

函数的实现部分,参数可以省略,但如果不省略,则必需与前向声明中的完全一致(不包含默认值)。

前向声明的主要用途是用于处理循环引用的问题,比如函数 A 调用了函数 B,而函数 B 又调用了函数 A 的情况。它一般用在 implementation 小节内部,如果函数 A/B 是在 interface 部分都声明了的话,不需要用 forward 语法。

分享到: