假设我有一个这样声明的维度数组:
integer, dimension(5) :: dims
dims = (/ 5, 6, 7, 8, 9 /)
我怎样才能最简单地使用这个数组来分配另一个数组,使用元素dims
来指定各个维度的大小?假设第二个数组声明如下:
real, dimension(:,:,:,:,:), allocatable :: dset
为什么我不能执行以下操作?
allocate (dset(dims(:)))
Error: Rank mismatch in array reference
当我尝试编译时我得到了。
我意识到我可以做到这一点:
allocate (dset(dims(1), dims(2), dims(3), dims(4), dims(5)))
但我正在寻找更容易扩展的东西。