我有两个不同的模块,每个模块都有相同的子程序。主程序将根据某个条件调用其中一个。我想避免将每个子例程重命名为不同的名称。
答案 0 :(得分:6)
如果您有两个模块A
和B
包含相同的方法foo()
,那么首先您可以使用
program SOModNames
use A, fooA => foo
use B, fooB => foo
implicit none
! Variables
real X(10), Y(10)
call fooA(X,10)
call fooB(Y,10)
end program SOModNames
Unofrtunatelty您不能使用call A::foo(X,10)
作为范围。