Fortran模块的子程序名称冲突

6

我有两个不同的模块,每个模块都有相同的子程序。主程序将根据某种条件调用其中一个。我想避免将这些子程序重命名为不同的名称。


1
你需要发布一些裸代码,你尝试过使用USE语句定义别名吗? - John Alexiou
1个回答

10

如果你有两个模块AB都包含同名方法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

不幸的是,您不能使用 call A::foo(X,10) 这样的方式来作用于一个模块。


请回答这个问题 :) http://stackoverflow.com/questions/28134327/fortran-split-mofule-into-multipel-files - Mahmoud Fayez

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接