【发布时间】:2019-01-18 00:19:03
【问题描述】:
我有两个子程序。一个调用另一个,并且两者都有相同的可选参数:
program main
call a()
call a(7)
contains
subroutine a(var)
implicit none
integer, intent(in), optional :: var
call b(var)
end subroutine
subroutine b(var)
implicit none
integer, intent(in), optional :: var
if(present(var)) then
write (*,*) "var = ", var
else
write (*,*) "not given"
endif
end subroutine
end program main
在a 的第一次调用中,将var 提供给b,即使它没有提供。我在 gfortran 和 ifort 中尝试过,它似乎有效。不过我想知道:
这是有效的标准 fortran 还是我只是在这里滥用一些漏洞?
【问题讨论】:
标签: fortran optional-parameters