If a routine has a forward declaration or appears in the interface section of a unit, default parameter values; if there are any must be specified in the forward or interface declaration. In this case, the default values can be omitted from the defining (implementation) declaration; but if the defining declaration includes default values, they must match those in the forward or interface declaration exactly.
Forward and interface declarations
如果一个例程有一个forward声明或出现在单元的接口节,并且缺省参数在其forward声明或接口声明中被指定。这种情况下,在相应的定义(实现)声明中,缺省值可以被忽略(即不必重申);但如果定义声明包括缺省值,则必需与相应的向前(forward)声明或接口声明严格匹配。