[英]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.