这是编译后我的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
答案 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)