2
私は、コンパイルエラーを生成しているメソッドの呼び出しが とエラーの下に示されているのgfortran 5.4と.F90コード変数定義コンテキストのコンパイルエラーに非変数式
call abc_output(struc,nx,ny,nz,'AB' ,get_ab_dat(p_f),&
1
Error: Non-variable expression in variable definition context (actual argument to INTENT = OUT/INOUT) at (1)
と、このコンパイルエラーを取得しています
function get_ab_dat(bf) result(qx_arr)
type(b_f),intent(in) :: bf
real,dimension(:,:,:),allocatable :: qx_arr
qx_arr = bf%qx
end function get_ab_dat
subroutine abc_output (struc,nx,ny,nz,dname1,data1,&
dname2,data2,dname3,data3,dname4,data4)
type(c_s),intent(in) :: struc
integer,intent(in) :: nx,ny,nz
character(len=*),intent(in) :: dname1
real,dimension(:,:,:),allocatable,intent(inout) :: data1
character(len=*),intent(in),optional :: dname2,dname3,dname4
real,dimension(:,:,:),allocatable,intent(inout),optional :: data2,data3,data4
の下に示されているget_ab_dat関数はget_ab_dat
type(b_f) :: p_f
call abc_output(struc,nx,ny,nz,'AB' ,get_ab_dat(p_f),&
'BD' ,get_bc_dat(p_f),&
'EF' , aaa)
であります
誰かがそのエラーの意味と解決方法を説明できますか?
完全なコードと完全なエラーメッセージを表示してください。エラーメッセージの(1)はどこに? –
ところで、あなたのコードはFortran90ではなくFortran 2003なので、fortran90タグは混乱します。ファイル拡張子.f90は、Fortran 90を意味するものではなく、固定形式のソースを意味します。 –
はおそらく 'abc_output'に関連付けられています。 – agentp