Fortranmodule
で、コンポーネントがプロシージャ ポインターである派生データ型に初期値を代入しようとしていますが、エラー メッセージが表示されます: 予期しないポインターの割り当て。
ではmodule
、プロシージャ ポインタを含む構造型に初期値を割り当てる方法は?
module pointer_mod
use legendrePolynomials
implicit none
interface
function func (z)
real*8 :: func
real*8, intent (in) :: z
end function func
end interface
type proc_ptr
procedure (func), pointer, nopass :: f_ptr
end type proc_ptr
type(proc_ptr), dimension(6) :: basis
basis(1) % f_ptr => Legendre0 ! or basis(1) % f_ptr => null()
end module pointer_mod
どこ:
function Legendre0(x) result(y)
real, intent(in) :: x
real :: y
y = 1
end function