目的
EXTERNAL 属性は、名前を外部プロシージャー、仮プロシージャー、ブロック・データ・プログラム単位として指定します。 EXTERNAL 属性を持つプロシージャー名は実引き数として使用できます。
構文
>>-EXTERNAL--+-----+--name_list-------------------------------->< '- ::-' |
外部プロシージャー名または仮引き数名を実引き数として使用する場合は、EXTERNAL 属性で指定するか、または、その有効範囲単位内のインターフェース・ブロックで宣言しなければなりません。ただし、それらの両方で指定することはできません。
1 つの有効範囲単位内で EXTERNAL 属性を持たせて組み込みプロシージャー名を指定すると、その名前はユーザー定義の外部プロシージャー名になります。したがって、それと同じ名前の組み込みプロシージャーを、その有効範囲単位から呼び出すことはできません。
1 つの有効範囲単位内では、1 つの名前に EXTERNAL 属性は 1 回しか指定できません。
有効範囲単位内のインターフェース・ブロックでは、EXTERNAL ステートメントに指定した名前を、特定のプロシージャー名として指定することはできません。
EXTERNAL 属性と互換性のある属性 | ||||
---|---|---|---|---|
|
PROGRAM MAIN EXTERNAL AAA CALL SUB(AAA) ! Procedure AAA is passed to SUB END SUBROUTINE SUB(ARG) CALL ARG() ! This results in a call to AAA END SUBROUTINE
関連情報