【问题标题】:fortran modules' subroutine name conflictfortran 模块的子例程名称冲突
【发布时间】:2015-01-25 07:22:07
【问题描述】:

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

【问题讨论】:

  • 您需要发布一些裸代码并且您是否尝试过定义别名的USE 语句?

标签: fortran


【解决方案1】:

如果你有两个模块 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

Unofrtunatelty 例如,您无法使用call A::foo(X,10) 将范围限定为模块。

【讨论】:

猜你喜欢
  • 2011-08-21
  • 2011-07-17
  • 2016-04-30
  • 1970-01-01
  • 1970-01-01
  • 2020-06-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多