警告“这里的元素内在函数是整数或字符的类型”

时间:2016-03-27 02:01:34

标签: fortran intel-fortran fortran95 fortran2003

我的代码中有一行

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

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

  

fortran-learning.f90(3):警告#6009:Fortran 2003指定了一个   元素内在函数在这里是整数或字符和   每个参数必须是整数或类型的初始化expr   字符。 [ATAN]

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

这是什么意思?

2 个答案:

答案 0 :(得分:2)

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

在Fortran 95中,初始化表达式(常量表达式)比现在严格得多。您使用的表达式未得到官方支持 - 因此警告。 当这个限制在Fortran 2003中解除时,英特尔并没有立即修复警告 - 请参阅链接文章。 如果您想跟踪此问题,则英特尔问题ID为DPD200253798。

顺便说一句,这只是一个警告。您可以使用

轻松禁用它
-diag-disable 6009

或在Windows上:

/Qdiag-disable:6009

答案 1 :(得分:1)

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