我有这样的代码
:
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
然而,这看起来很傻,而且我在编译代码时收到了很多编译警告,因为没有使用这些参数。有没有更聪明的方法来做到这一点?