变量初始化顺序问题
问题描述
编译时出现如下报错。
pw3sr.f:37.35: REAL :: Q(NX+2-MOD(NX,2),NY,NZ) 1 Error: Symbol 'nx' is used before it is typed at (1)
问题原因
REAL变量Q依赖INTEGER变量NX、NY、NZ,而依赖的变量定义在Q变量之后,导致编译器找不到,出现未定义错误。
处理步骤
调整变量定义顺序。
- 调整前:
REAL :: Q(NX+2-MOD(NX,2),NY,NZ) INTEGER :: NX,NY,NZ
- 调整后:
INTEGER :: NX,NY,NZ REAL :: Q(NX+2-MOD(NX,2),NY,NZ)