fortran在模块中定义变量,为什么在子程序中出错

2024-12-14 02:40:41
推荐回答(2个)
回答1:

原因是:

try 的虚参 c,与 global 里的 c ,是两个数组,但用同一个名字。重名冲突了。

我不知道你的意图是什么,猜测的解决方法是(选1种):
1.把虚参改名为d,即:改成subroutine try(d)
2.把global里的c改名,即:
subroutine try(c)
use global , d =>c
以上两种方法避免了重名,但你需要在 try 里面重新定义多出来的数组。
第三个办法:
3.取消 try 的虚参
这样就只有一个数组,不存在重名冲突了

回答2: