我的代码中有一行
real(8)::pi=4*atan(1D0)
我用ifort /stand:03
编译了它并警告我
fortran-learning.f90(3):警告#6009:Fortran 2003指定了一个 元素内在函数在这里是整数或字符和 每个参数必须是整数或类型的初始化expr 字符。 [ATAN]
real(8)::pi=4*atan(1D0) ----------------------^
这是什么意思?
答案 0 :(得分:2)
此编译器错误已在最新版本中修复。有关详细信息,请参阅here。
在Fortran 95中,初始化表达式(常量表达式)比现在严格得多。您使用的表达式未得到官方支持 - 因此警告。 当这个限制在Fortran 2003中解除时,英特尔并没有立即修复警告 - 请参阅链接文章。 如果您想跟踪此问题,则英特尔问题ID为DPD200253798。
顺便说一句,这只是一个警告。您可以使用
轻松禁用它-diag-disable 6009
或在Windows上:
/Qdiag-disable:6009
答案 1 :(得分:1)
这是f95的限制,而不是f03。因此ifort中的错误。