---
title: 变量定义顺序问题
description: "编译时出现如下报错。"
url: https://www.hikunpeng.com/document/detail/zh/kunpenggrf/codeprtr/kunpengtaishanporting_12_0120.html
sourcePath: /source/zh/kunpenggrf/codeprtr/kunpengtaishanporting_12_0120.html
indexId: 6e0455482152d1b9bbaf33b340cee02c55ebcb093ed7988ac8da8c3f7154155d65
---
# 变量定义顺序问题

#### 问题描述

编译时出现如下报错。

```
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)
```
