顺利就好 发表于 2023-12-25 14:05:51

语法求助!!1

主程序
Program Main

include "constant.fi"
Integer I,J,K,ITER,IDay,IT,time!7.8

Real LON_st, LON_loc,LAT!rT(1:24)rT(1:NMONTH,1:NHOUR)
Real TT_AIR(1:Amm*Bmm*Cmm,1:NHOUR),T_air(1:Amm*Bmm*Cmm),rT_room_air(1:Amm*Bmm*Cmm,1:NHOUR) ————————报错行

报错语句:error FOR3093: array bound is not integer scalar

原因是因为数组索引需要整数,但是在文件中我已经把它们(Amm,Bmm,Cmm)设置成整数了,PARAMETER(Amm=3) ,PARAMETER(Bmm=3),PARAMETER(Cmm=3),为什么后面主程序的数组还会报错呢?


fcode 发表于 2023-12-25 14:27:44

因为 parameter 只说明是常量,并不说明其类型。
给你的建议:
1. 换一本新的Fortran教科书,而不是 FORTRAN教科书。注意书名要大小写混合的,不要全部大写的。
2. 换一个编译器,不要使用 compaq 这种1990年代的产品。推荐 Intel OneAPI 或者 gfortran
3. 要写 Implicit None
4. parameter 不要单独写,使用类似:
integer , parameter :: N = 3
real , parameter :: pi = 3.1415926
的形式。

顺利就好 发表于 2023-12-25 19:56:41

fcode 发表于 2023-12-25 14:27
因为 parameter 只说明是常量,并不说明其类型。
给你的建议:
1. 换一本新的Fortran教科书,而不是 FORTRA ...

好的,非常感谢您!!
页: [1]
查看完整版本: 语法求助!!1