鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

变量初始化顺序问题

问题描述

编译时出现如下报错。

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)