Fortran 警告";此处的基本内在函数应为整型或字符型;

Fortran 警告";此处的基本内在函数应为整型或字符型;,fortran,intel-fortran,fortran95,fortran2003,Fortran,Intel Fortran,Fortran95,Fortran2003,我的代码里有一行 real(8)::pi=4*atan(1D0) 我用ifort/stand:03编译了它,它警告我 fortran learning.f90(3):警告#6009:fortran 2003指定 这里的基本内在函数应为整型或字符型,并且 每个参数必须是integer或integer类型的初始化表达式 性格[ATAN] real(8)::pi=4*atan(1D0) ----------------------^ 这是什么意思?这是f95的限制,而不是f03。因

我的代码里有一行

real(8)::pi=4*atan(1D0)
我用ifort/stand:03编译了它,它警告我

fortran learning.f90(3):警告#6009:fortran 2003指定 这里的基本内在函数应为整型或字符型,并且 每个参数必须是integer或integer类型的初始化表达式 性格[ATAN]

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

这是什么意思?

这是f95的限制,而不是f03。因此,ifort.

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

此编译器bug已在最新版本中修复。有关详细信息,请参阅

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

顺便说一下,这只是一个警告。您可以轻松地使用禁用它

-diag-disable 6009
或在Windows上:

/Qdiag-disable:6009

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

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

顺便说一下,这只是一个警告。您可以轻松地使用禁用它

-diag-disable 6009
或在Windows上:

/Qdiag-disable:6009
实数(8):π=4*atan(1D0);打印*,圆周率;在16.0.2.180上使用/stand:f03时仍会复制结束。你使用的是beta吗?real(8)::pi=4*atan(1D0);打印*,圆周率;在16.0.2.180上使用/stand:f03时仍会复制结束。你在使用测试版吗?