我正在使用 GNU Fortran (GCC) 4.8.2
我想从名单中读取可分配数组。但是我事先不知道有多少元素必须读入可分配数组,所以我不能在读取名单之前分配它。
这是我的名单:namelist.nml:
&SECTION_1
intList = 5,6,7
&END
这是我的程序:namelist.f08:
program namelist
implicit none
integer, allocatable :: intList(:)
integer :: U ! Unit to read the namelist file
namelist /SECTION_1/ intList
!allocate(intList(3)) ! <-- If I uncomment this, the program works.
open(NEWUNIT=U, file="namelist.nml", status='OLD', recl=80, delim='APOSTROPHE')
rewind(U)
read(U, nml=SECTION_1)
close(U)
write (*,*) intList
end program namelist
如果我取消注释标记的行,程序可以工作,但是,正如我之前所说,我不能在之前分配来读取名单。有谁知道如何做到这一点?