在Fortran 90中,我们可以用一个接口超载功能。 然而,根据这个网站 ,我们无法定义具有相同的参数名称这些功能。 随着gfortran,它似乎并不成为一个问题,因为下面的代码工作得很好:
interface check
module procedure check_int, check_real
end interface
contains
subroutine check_int(cur, dname, func_name, fname)
integer, allocatable, intent(in) :: cur(:)
character(*) :: dname, func_name, fname
...
end subroutine
subroutine check_real(cur, dname, func_name, fname)
real, allocatable, intent(in) :: cur(:)
character(*) :: dname, func_name, fname
...
end subroutine
那么,是不是不好的做法,这样做呢?
编辑:关键字调用函数不会改变任何东西。