我编写了以下程序来处理假定形状和假定大小的数组:
program test
implicit none
integer, dimension(3) :: array
array(1) = 1
array(2) = 2
array(3) = 3
call mysub(array)
end program test
subroutine mysub(array)
dimension array(*)
print *, array(:3)
end subroutine mysub
我正在使用ifort
进行编译,并有两个问题:
print *, array(:3)
替换第19行print *, ubound(array)
,我会收到错误消息test.f90(19):错误#6587:数组的上限不可计算 [UBOUND]
我确实希望能够检测子程序中假定大小数组的上限。我怎么能这样做?