Skip to content

过程作用域


过程在程序不同模块中的作用域(可见性)。

前言:

过程是可以由过程外部的代码(或递归情况下的内部代码)调用的"子程序"(sub)或"函数"。

过程由构成过程体的一系列指令组成。

可以向过程传递值或变量,函数可以返回值或引用。

描述

模块中过程的作用域遵循简单规则:

  • Private 作用域:
  • Public 作用域:
  • Export 作用域:

语法

[ Public | Private ] { Sub | Function } proc_name ( argumentlist ) [ [ Byref ] As datatype ] Export

[ Public ] { Sub | Function } proc_name ( argumentlist ) [ [ Byref ] As datatype ] Export

用法

Private、Public 和 Export 访问控制仅在过程定义中使用(禁止在声明行级别使用)。

默认情况下,过程是 Public 的,除非模块中的 Option Private 语句修改了默认状态。

这就是为什么 Private 和 Public 访问控制都有用的原因,取决于默认状态。

Export 访问控制与 Private 过程(隐式或显式定义为此)不兼容。

在编译的模块中,两个具有相同标识符但定义在不同模块内的过程可以共存,前提是两者都是 Private 的。

编译器会删除未被调用的 Private 过程,但对于仅被其他同样未被调用的 Private 过程调用的 Private 过程,此功能目前无效,因为前者看起来像是被调用了。

参见

返回 目录

基于 FreeBASIC 官方文档翻译 如有侵权请联系我们删除
FreeBASIC 是开源项目,与微软公司无隶属关系