Как уже отмечали другие, то, что вы хотите сделать, в настоящее время невозможно в Фортране с переменными. Однако хочу отметить, что в Fortran 2008 добавлена возможность делать это для именованных констант, объявленных с атрибутом parameter
. Это называется «массив подразумеваемой формы» и будет выглядеть так:
program ONE
real, parameter :: V(*) = [1,2,3]
end program
Также можно указать нижнюю границу для массива:
program TWO
real, parameter :: V(2:*) = [1,2,3]
end program
Хотя я еще не слышал о каких-либо компиляторах Fortran 2008, многие компиляторы, вероятно, уже реализовали это, поскольку это не кажется слишком сложным.
Возможно, если через пару лет будет опубликовано обновление к текущему стандарту, это также станет возможным для переменных, хотя можно представить, что это было бы сделано сразу, в то же время, что и для именованных констант, если бы это было легко.