仮手続引数

実引数が手続である場合,その対応する仮引数は仮手続となります。仮手続は関数またはサブルーチン副プログラム中に置くことができます。

実引数は,外部手続,モジュール手続,組込み手続,または他の仮手続の個別名でなくてはなりません。その個別名が総称名でもある場合,個別名だけが仮引数に結合されます。組込み手続の中には,実引数としては使用できないものがあります (詳細については,「実引数として許されていない関数:表」を参照)。

実引数と,それに対応する仮手続は,両方ともサブルーチンであるか,両方とも関数でなくてはなりません。

仮手続のインタフェースが明示的インタフェースである場合,結合された実手続の型,種別パラメタ,および次元数は,仮手続と同じでなくてはなりません。

仮手続のインタフェースが暗黙的であり,手続がサブルーチンとして引用される場合,実引数はサブルーチンまたは仮手続でなくてはなりません。

仮手続のインタフェースが暗黙的であり,手続が関数として引用されているか,明示的に型が宣言されている場合,実引数は関数または仮手続でなくてはなりません。

仮手続は省略可能として宣言することができますが,INTENT を使って宣言することはできません。

次に,手続を引数として使用した例を示します。

	REAL FUNCTION LGFUNC(BAR)
	  INTERFACE
	    REAL FUNCTION BAR(Y)
	      REAL, INTENT(IN) :: Y
	    END 
	  END INTERFACE
	  ...
	  LGFUNC = BAR(2.0)
	  ...
	END FUNCTION LGFUNC

関連情報

手続引数結合の一般的な規則については,「引数結合」を参照してください。