Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Fortran-在运行时设置变量的种类/精度_Fortran_Precision - Fatal编程技术网

Fortran-在运行时设置变量的种类/精度

Fortran-在运行时设置变量的种类/精度,fortran,precision,Fortran,Precision,是否可以使变量本身的精度成为将在运行时定义的变量? 比如,如果我试图编译: SUBROUTINE FOO( VARIABLE, PRECISION_VALUE ) IMPLICIT NONE INTEGER(4) :: PRECISION_VALUE INTEGER(PRECISION_VALUE) :: VARIABLE RETURN END 编译器输出为: error #6683: A kind type

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

      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)

不管怎么说?我知道不能将任何任意值用于
种类
,但这不是我在这个问题上关心的问题。

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

可能会或将有助于您完成任务。