Fortran Coder

标题: 关于模块外的等价声明报错 [打印本页]

作者: heuwcy    时间: 2022-5-26 15:44
标题: 关于模块外的等价声明报错

新手求助,我在模块内定义了一个全局变量fa,然后想在主程序(子程序)中将这个全局变量等价到其他变量,但是这里会报错,因为好像是由于模块定义的变量在外部无法等价,请问有解决方案吗。

作者: kyra    时间: 2022-5-26 15:58
本帖最后由 kyra 于 2022-5-26 16:11 编辑

可以用指针~~
此外,请不要用 EQUIVALENCE 和 common 语句了。
再另外,如果 module 和 使用该module的程序单元写在一个源代码文件里。module需要写前面。
[Fortran] 纯文本查看 复制代码
module ccc
  real(8) , target :: fa(20) , test(20)
end module ccc

use ccc
real(8) , pointer :: a(:)
a=>fa



作者: heuwcy    时间: 2022-5-26 16:14
你好 十分感谢 我这个模块是在其他f文件里 粘到这方便截图,另外有关于指针的详细说明吗 想了解一下详细的原理和用法
作者: kyra    时间: 2022-5-26 16:36
本帖最后由 kyra 于 2022-5-26 16:38 编辑

http://pan.fcode.cn
《Fortran 90 & 95 Array and Pointer Techniques》




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