小哼 发表于 2008-11-14 22:18

Fortran里面EQUIVALENCE命令报错,怎么改?

别人编好的程序,应该是没有问题的,我运行的时候却报错。
原程序片段:
   subroutine readit (name,varname,field)

      implicit none

      integer nlo30,nla30,ntim
      parameter (nlo30=96,nla30=48,ntim=12)

      character*100 name
      character*9 varname
      character*9 chdummy

      real field(nlo30,nla30,ntim)
      real ztest(nlo30*nla30*ntim)
      integer j
      EQUIVALENCE(ztest,field)
报错:
Error: A dummy argument cannot be an equivalenced object.   
      EQUIVALENCE(ztest,field)
比较急,请问各位应该怎么改呢?谢谢!

ChaChing 发表于 2008-11-14 23:08

一般使用EQUIVALENCE是为了解决磁碟空间问题, 或者资料互用
错误讯息告知subroutine的argument(field)是不能EQUIVALENCE的
若确确定没资料互用, 取消EQUIVALENCE
太久没接触fortran了, 不怎麽确定!

小哼 发表于 2008-11-15 11:08

呵呵,我去掉试试,谢谢啦!
页: [1]
查看完整版本: Fortran里面EQUIVALENCE命令报错,怎么改?