假设在我的主程序中我想使用两个模块,模块a和模块b。这两个模块独立使用第三个模块,即模块c。我是否认为会产生名称冲突?即,作为USE陈述的结果,模块c中的已声明实体将在模块a和b中有效地重新声明。如果是这样,怎么解决这个问题呢?是否可以在某处使用PRIVATE语句来避免麻烦?
感谢您抽出宝贵时间阅读问题。
答案 0 :(得分:3)
不会产生名称冲突。
是的,c
中的公共实体将在a
和b
中使用,然后在您的主程序中使用,但不会引入歧义。
module c
integer int
end module c
module a
use c
end module a
module b
use c
end module b
program main
use a
use b
! use c
int = 1
end program
您的困惑可能是“模块c中声明的实体将被有效重新声明”:存在关联,但使用相同的声明。这与C头文件形成对比。