Fortran Coder

查看: 2755|回复: 4
打印 上一主题 下一主题

[Module] 关于module及subroutine

[复制链接]

712

帖子

4

主题

0

精华

大师

农村外出务工人员

F 币
607 元
贡献
311 点

新人勋章爱心勋章水王勋章元老勋章热心勋章

楼主
发表于 2023-3-7 15:33:07 | 显示全部楼层
因为虚参会覆盖module中的模块变量。

712

帖子

4

主题

0

精华

大师

农村外出务工人员

F 币
607 元
贡献
311 点

新人勋章爱心勋章水王勋章元老勋章热心勋章

沙发
发表于 2023-3-7 20:08:23 | 显示全部楼层
本帖最后由 楚香饭 于 2023-3-7 20:11 编辑

是的。
subroutine BlockRenumber(iSubblocks, sbmax)
这里的 iSubblocks 覆盖了 module 中定义的 iSubblocks

并不是说:“subroutine()括号中不能出现module声明的变量”
而是一旦出现了,那么 module 中定义的同名变量,在这个subroutine中就无法访问了。
这种情况,称为“覆盖”
如果你确实认为虚参中的那个变量才是你想要的,module中同名的变量你并不希望使用。那么这样做,也并无不可。
实际上,某些情况下,这样恰好是你想要的。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-5-7 06:55

Powered by Tencent X3.4

© 2013-2024 Tencent

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