8

変数自体の精度を実行時に定義される変数にすることはできますか? コンパイルしようとすると、次のようになります。

      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、この質問ではそれは問題ではありません。

4

1 に答える 1

11

いいえ、それはできません、タイプ、種類、およびランクがわかっている必要があります。ただし、実行時にルーチンに渡されると予想されるすべての種類の実装を含むジェネリック サブルーチン インターフェイスを定義できます。

于 2012-05-10T05:08:37.233 に答える