【问题标题】:warning "an elemental intrinsic function here be of type integer or character"警告“这里的基本内在函数是整数或字符类型”
【发布时间】:2016-07-14 13:48:05
【问题描述】:

我的代码中有一行

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

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

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

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

这是什么意思?

【问题讨论】:

    标签: fortran intel-fortran fortran95 fortran2003


    【解决方案1】:

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

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

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

    -diag-disable 6009
    

    或在 Windows 上:

    /Qdiag-disable:6009
    

    【讨论】:

    • real(8)::pi=4*atan(1D0);print*,pi;end 仍然在 16.0.2.180 上使用 /stand:f03 进行复制。您使用的是测试版吗?
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-25
      • 2010-11-11
      • 2021-11-17
      • 1970-01-01
      • 2014-04-19
      • 1970-01-01
      • 2021-07-05
      • 1970-01-01
      相关资源
      最近更新 更多