割り付け可能な配列をサブルーチンに渡すプログラムが必要です。私がそれを行う方法が標準であるかどうかを知る必要があります。fortran、割り当て可能な配列を右端のサブルーチンに渡す
私がfortranの標準をどこで検索できるかわかっている場合は、教えてください。ここで
が良い言葉画面上
program test
use modt99
implicit none
real(pr), dimension(:), allocatable :: vx
allocate(vx(-1:6))
vx=(/666,214,558,332,-521,-999,120,55/)
call test3(vx,vx,vx)
deallocate(vx)
end program test
モジュールと
modt99
module modt99
contains
subroutine test3(v1,v2,v3)
real(pr), dimension(:), intent(in) :: v1
real(pr), dimension(0:), intent(in) :: v2
real(pr), dimension(:), allocatable, intent(in) :: v3
print*,'================================'
print*,v1(1:3)
print*,'================================'
print*,v2(1:3)
print*,'================================'
print*,v3(1:3)
print*,'================================'
end subroutine test3
end module modt99
よりも説明します少しのコードで、私は3つの方法がある
================================
666.000000000000 214.000000000000 558.000000000000
================================
214.000000000000 558.000000000000 332.000000000000
================================
558.000000000000 332.000000000000 -521.000000000000
================================
を取得しますサブルーチンtest3 legal(どのバージョンのFortran、90,95,2003?)のダミー引数を使用し、それらの動作正常?
あなたの答えをありがとう、それは私をたくさん助けます。あなたが与えるリンクでは、それはf95でも大丈夫でしょうか、そうではありませんか? – user2910558
*すべての*標準文書は、Fortran for IBM 704 *(1957!)から始まります。 –