(1)中的'icount'不是变量

时间:2016-07-13 06:05:50

标签: fortran

这是编译后我的fortran代码的一部分给了我一个错误,说'(1)的icount不是变量

这是我的代码:

  integer*4 iy1
  integer*2 id1,im1
  parameter (month=12,maxper=5,specmax=8)
  real conc(month,8,icount(8,month))
  integer smonth(12),icount(8,month)
  real per(maxper),rper(maxper)
  data smonth/12,1,2,3,4,5,6,7,8,9,10,11/
  data per/0.10,0.25,0.5,0.75,0.90/



 open(unit=1`,file='data_co.txt',status='old')
 open(unit=2,file='chennai_alldatatop10.txt',status='unknown',iostat=ierr)
 if(ierr.eq.0)close(2,status='delete')
 open(unit=2, file='chennai_alldatatop10.txt',status='unknown')

     inum=0
2    read(2,*,end=3)id1,im1,iy1,conc1
     icount(1,im1)=inum+1
     conc(im1,1,icount(1,im1))=conc1
     goto 2
3    continue


     end

1 个答案:

答案 0 :(得分:0)

在代码顶部的变量声明中,您切换了顺序:

real conc(month,8,icount(8,month))
integer smonth(12),icount(8,month)

您在定义它之前使用icount,因此您的代码应如下所示:

integer smonth(12),icount(8,month)
real conc(month,8,icount(8,month))

但实际上,如果icount(8, month)尚未初始化为某个值,这也没有任何意义。所以你的代码应该看起来像这样:

integer smonth(12), icount(8,month)
real conc(month, 8, some_scalar_value)