【发布时间】:2017-06-21 16:06:04
【问题描述】:
以下脚本创建派生类型,然后尝试将其名称列表输出到文本文件:
program test
implicit none
character(len=:), allocatable :: CurrentString
integer :: linelength, IO
type SubjectType
character(20) :: genre
character(20) :: maindude
end type SubjectType
type BookType
character(20) :: title
character(20) :: author
type(SubjectType) :: subject
integer, dimension(2,2):: array
integer :: BookID
end type Booktype
type(Booktype) :: Book
Book%title = "Harry Potter"
Book%author = "JK Rowling"
Book%subject%genre = "Fantasy"
Book%subject%maindude = "Ron Weasley"
Book%array = RESHAPE([1,2,3,4],[2,2])
Book%BookID = 105
open(10, file = 'namelist.txt')
namelist /mynamelist/ Book
write(10, nml = mynamelist)
close(10, status = 'keep')
end program test
编译后会报错:
||=== 构建:在 Hello 中调试(编译器:GNU Fortran 编译器)===|
D:\TEMP\Hello\main.f95|30|错误:意外的 NAMELIST 语句 |
D:\TEMP\Hello\main.f95|31|错误:符号“mynamelist”必须是一个
NAMELIST 组名| ||=== 构建失败:2 个错误,0 个警告 (0
分钟,2 秒)===|
google search 真的不是很有帮助。我发现的唯一论坛讨论了为什么会发生这种情况,而不是如何解决它。我怎样才能让它在 GFortran 中运行?请注意,这在 IFort 中确实有效。
【问题讨论】:
标签: fortran codeblocks