1

現在取り組んでいる研究プロジェクトに使用する Fortran 2003 を独学しています。私は Fortran 90 に慣れていますが、このプロジェクトではパラメーター化された型を使用する必要があるため、2003 に移行しています。

パラメータ化された型を定義する方法に関するこのサイトの説明に従っており、テストするためにサイトの例に基づいて非常に簡単なサンプル プログラムを作成しました。

module example
implicit none

  type :: param_matrix(k,a,b)
     integer, kind :: k
     integer, len :: a
     integer, len :: b
     real(kind=k), dimension(a,b) :: m
  end type param_matrix

end module example

これをコマンドでコンパイルすると

gfortran -c test.F03

エラーが表示されます

test.F03:4.2:

  type :: param_matrix(k, a, b)

  1

Error: Unclassifiable statement at (1)

test.F03:5.13:

     integer, kind :: k

             1

Error: Invalid character in name at (1)

test.F03:6.13:

     integer, len :: a

             1

Error: Invalid character in name at (1)

test.F03:7.13:

     integer, len :: b

             1

Error: Invalid character in name at (1)

test.F03:8.16:

     real(kind=k), dimension(a,b) :: m

                1

Error: Symbol 'k' at (1) has no IMPLICIT type

test.F03:9.5:

  end type param_matrix

     1

Error: Expecting END MODULE statement at (1)

数式のパラメーター化された部分を削除すると、正常にコンパイルされます (つまり、型が認識されます)。Fortran 2003 に固有のもので特に問題があるようですが、コマンドで実行すると

-std=f2003

それはまだ同じ問題を抱えています。何が起こっているのでしょうか?

4

1 に答える 1