【问题标题】:Fortran - setting kind/precision of a variable at run timeFortran - 在运行时设置变量的种类/精度
【发布时间】:2012-05-10 01:47:54
【问题描述】:

是否可以使变量本身的精度成为将在运行时定义的变量? 说,如果我尝试编译:

      SUBROUTINE FOO( VARIABLE, PRECISION_VALUE )

      IMPLICIT NONE

      INTEGER(4) :: PRECISION_VALUE
      INTEGER(PRECISION_VALUE) :: VARIABLE

      RETURN
      END

编译器输出为:

    error #6683: A kind type parameter must be a compile-time constant.   [PRECISION_VALUE]
          INTEGER(PRECISION_VALUE) :: VARIABLE
    --------------^
    compilation aborted for trial.f (code 1)

不管怎样?我知道KIND 不能使用任何任意值,但这不是我在这个问题上关心的问题。

【问题讨论】:

标签: fortran precision


【解决方案1】:

不,不可能,必须知道类型、种类和等级。但是,您可以为您希望在运行时传递给例程的所有类型的实现定义通用子例程接口。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-05
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多