繁体   English   中英

Fortran 错误 #6366:数组表达式的形状不符合

[英]Fortran Error # 6366: The shapes of the array expressions do not conform

我在编译我的 Fortran 代码之一时遇到了此错误消息。 我发现了一些关于相同错误的类似帖子,但这些帖子中的情况都不适用于我的情况。 我很感激这里提供的任何答案或帮助。 提前致谢!

(代码真的很长,所以我只剪掉了那些相关的句子。)

================================================== =

DIMENSION A(20), COORDS(3)
REAL  B, C, X, Y, Z

B = 1.0

X = COORDS(1)
Y = COORDS(2)
Z = COORDS(3)

DO I = 1,3
  A(I) = COORDS(I)
END DO

C = SQRT ( X**2.0 + Y**2.0 ) + B

================================================== =

错误消息指向最后一行:错误 #6366:数组表达式的形状不符合。 [ C ]

如果我注释掉+ B ,则不会发生错误。

我只是不明白。 数组COORDS的元素被传递给标量变量X, Y, Z 为什么他们和B (或C )不一致?

我知道一定有一些我不太了解 Fortran 数组的地方。 如果你发现任何错误,请指出我的错误。

非常感谢!

贾斯汀

在代码的其他地方是否有针对这些变量的dimension声明? 错误消息似乎指向C 注释掉+B消除了错误似乎更可靠地指向B

这就是为什么我喜欢在一行中声明一个变量的所有特征。 例如,

real, dimension (20) :: a

而不是:

dimension A(20)
real A

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM