Fortran Coder

标题: 关于 Module Contains 里的 Subroutine 中, 变量重复定义的困惑. [打印本页]

作者: telegoat    时间: 2019-10-29 18:44
标题: 关于 Module Contains 里的 Subroutine 中, 变量重复定义的困惑.
Module A 里定义了变量 a, 并 Contains 了一个 Sub1(), 而这个 Sub1() 里, 我再次定义了变量 a,
( 我知道 Sub1() 里不定义就能使用 Module A 开头定义的 a )
那么, 按照另外一个帖子里答主 vvt 的意思, Sub1() 里再次定义的 a 将 "掩盖" Module A 开头定义的 a,

vvt:
在 module 中 contains 的子程序(或函数),他们可以访问的变量有:
1. 虚参
2. 局部变量
3. module中定义的变量(无论public还是private)
以上顺序是有优先级的。所以,如果有一个虚参 n 了,则 module 中定义的 n(无论public还是private)都被“掩盖“.
( http://bbs.fcode.cn/thread-1343-1-4.html )


请问, 上述的规则, 是源自 Fortran 90/95 语法, 还是说这是编译器厂家自己做出的规定 ?










作者: vvt    时间: 2019-10-30 13:52
源自 Fortran 90/95 语法
作者: telegoat    时间: 2019-10-30 14:00
vvt 发表于 2019-10-30 13:52
源自 Fortran 90/95 语法

哈哈, 多谢 vvt 大师解惑!




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2