我手头有以下程序
program foo
type bar
real, dimension(2) :: vector
end type
type(bar), dimension(3) :: bararray
call doSomething(bararray%vector)
end program
subroutine doSomething(v)
real, dimension(3,2), intent(inout) :: v
...
end subroutine
现在这给了我一个编译错误。
Error: Two or more part references with nonzero rank must not be specified at (1)
如果我将呼叫更改为
call doSomething((/bararray%vector(1), bararray%vector(2)/))
一切都很顺利。问题是这看起来有点麻烦,所以问题是,有没有其他方法可以为子例程编写参数?
提前致谢。