0

我的代码中有一行

real(8)::pi=4*atan(1D0)

我用它编译它ifort /stand:03并警告我

fortran-learning.f90(3):警告 #6009:Fortran 2003 指定此处的基本内在函数是整数或字符类型,并且每个参数必须是整数或字符类型的初始化 expr。[晒黑]

        real(8)::pi=4*atan(1D0)
----------------------^

这是什么意思?

4

2 回答 2

2

此编译器错误已在最新版本中修复。有关详细信息,请参见此处

在 Fortran 95 中,初始化表达式(常量表达式)比现在严格得多。您使用的表达式不受官方支持 - 因此发出警告。当 Fortran 2003 中取消此限制时,英特尔没有立即修复警告 - 请参阅链接文章。以防万一您想跟踪此问题,英特尔问题 ID 为 DPD200253798。

顺便说一句,这只是一个警告。你可以很容易地禁用它

-diag-disable 6009

或在 Windows 上:

/Qdiag-disable:6009
于 2016-03-27T09:33:20.543 回答
1

这是 f95 的限制,而不是 f03。因此,ifort 中的一个错误。

于 2016-03-27T02:18:14.870 回答