函数引用
执行函数引用会导致以下事件顺序:
- 对作为表达式的实际参数进行求值。
- 实际参数与其对应的哑参数相关联。
- 控制对指定函数的传输。
- 执行函数。
- 函数结果变量的值(或状态或目标,对于指针函数)可用于引用表达式。
如果函数引用中的 binding_name 是指向特定函数的,则所引用的函数是指向 data-ref 的动态类型中具有该名称的绑定标识的函数。
如果函数引用中的 binding_name 也属于通用过程,则在 data-ref 声明类型中具有该名称的通用绑定将用于选择特定绑定:
- 如果引用与该泛型绑定的特定绑定之一一致,则选择该特定绑定。
- 否则,如果引用与该通用绑定的某个特定绑定的元素引用一致,那么将选择该特定绑定。

函数引用的执行不得改变出现函数引用的语句中任何其他数据项的值。 在 逻辑 IF 语句 或 WHERE 语句的逻辑表达式中调用函数引用可能会影响表达式值为 true 时执行的语句中的实体。
参数列表内置函数 %VAL和 %REF分别通过允许按值和按引用传递参数来帮助跨语言调用。 它们可以在非Fortran 过程引用中以及在接口主体中的子程序语句中指定。 (请参阅 %VAL 和 %REF (IBM 扩展)。) 参见函数声明和函数引用的递归示例。 
在进入可分配函数时,结果变量的分配状态会变为未分配
在函数执行期间,函数结果变量可以被分配和释放任意次数。 但是,应该分配函数结果变量并且从函数退出时应具有一个定义的值。 不会在退出函数时立即对结果变量解除分配,而是在执行了出现函数引用的语句之后才会进行。
