【发布时间】:2015-09-11 10:55:03
【问题描述】:
我在一个名为的 Fortran 模块中定义了一大堆变量。我想要一个子程序,最简单的方法是将模块级变量初始化为用户提供的变量。下面的简化代码有效,但是,我不得不在子例程参数列表中使用虚拟变量“iii_”来最终设置模块变量“iii”的值。有没有办法在子程序参数列表和模块中使用相同的变量名?
MODULE foo
IMPLICIT NONE
INTEGER :: iii
CONTAINS
SUBROUTINE initilize(iii_)
IMPLICIT NONE
INTEGER :: iii_
iii = iii_
print *, iii
END SUBROUTINE
END MODULE
所以我真正想要的是:
MODULE foo
IMPLICIT NONE
INTEGER :: iii
CONTAINS
SUBROUTINE initilize(iii)
IMPLICIT NONE
[code to set subroutine iii to module iii]
print *, iii
END SUBROUTINE
END MODULE
【问题讨论】: