私はこのようなコードを持っています
:
procedure(),pointer :: p
if ()
p => job1
else
p => job2
endif
do i=1,a_big_number
call x(...)
call p(i,j,k)
enddo
サブルーチン「job1」は何らかの作業を行いますが、サブルーチン「job2」は何もしません。つまり、状況によっては、「x」と「job1」を完了する必要があります。他の状況では、「x」を実行するだけで済みます。私の質問は、job2 をどのように定義すればよいかです。null() を使用してもうまくいかないようです。私が今していることは次のようなものです:
subroutine job2(i,j,k)
integer,intent(in) :: i,j,k
end subroutine
しかし、これはばかげているように見えます。これらの引数が使用されていなかったため、コードをコンパイルしたときに多くのコンパイル警告が表示されました。これを行うよりスマートな方法はありますか?