これは正しくコンパイルされます:
type t1
integer :: a, b(2), c
end type t1
type(t1), parameter :: t1a = t1(1, [2, 3], 4)
コンパイルされないことを除いて、次のようなものを書きたいと思います。
type t2
integer :: a
integer, allocatable :: b(:)
integer :: c
end type t2
type(t2), parameter :: t2a = t2(1, [2, 3], 4) ! compile error
type(t2), parameter :: t2b = t2(1, [2, 3, 4], 5) ! compile error
gfortran のエラー メッセージ
Error: Invalid initialization expression for ALLOCATABLE component 'b' in structure constructor
正しい構文についての手がかりはありません。
割り当て可能な型でパラメーター変数を宣言しようとしても何の不満もありませんので、それを初期化する何らかの方法があるに違いないと思います!