Fortran Coder

查看: 6333|回复: 2
打印 上一主题 下一主题

[Module] 关于 Module Contains 里的 Subroutine 中, 变量重复定义的困惑.

[复制链接]

5

帖子

1

主题

0

精华

入门

F 币
61 元
贡献
33 点
跳转到指定楼层
楼主
发表于 2019-10-29 18:44:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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 语法, 还是说这是编译器厂家自己做出的规定 ?









分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
沙发
发表于 2019-10-30 13:52:00 | 只看该作者
源自 Fortran 90/95 语法

5

帖子

1

主题

0

精华

入门

F 币
61 元
贡献
33 点
板凳
 楼主| 发表于 2019-10-30 14:00:00 | 只看该作者
vvt 发表于 2019-10-30 13:52
源自 Fortran 90/95 语法

哈哈, 多谢 vvt 大师解惑!
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-12-28 06:43

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表