6

据此 gfortran 可以进行整数逻辑转换,但我收到此错误:

                  if (.not.bDropped.and.(zz_unif01() .lt. (1 - (Test_Dru
                           1
Error: Operand of .not. operator at (1) is INTEGER(4)

我知道将代码从 更改为 会更好.not.bDropped(bDropped.eq.0)但这并不简单,因为它是生成的代码。

我尝试了各种-std=xxx标志,但它们没有任何区别。

4

1 回答 1

1

您链接到的页面的最后一行是

但是,在 if 语句中没有 INTEGER 值的隐式转换,[...]。

我猜这与它有关。

编辑:这似乎不是全部真相。简单地做l1 = .not. 0(何时l1是一个逻辑变量)会给出您收到的相同错误。所以在这种情况下也没有隐式转换。

于 2011-05-03T22:17:15.087 回答