Le script suivant crée un type dérivé tente alors de la sortie de son namelist à un fichier texte:`Erreur: NAMELIST inattendue statement` dans GNUFortran
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
Lors de la compilation mais il renvoie une erreur:
||=== Build: Debug in Hello (compiler: GNU Fortran Compiler) ===|
D:\TEMP\Hello\main.f95|30|Error: Unexpected NAMELIST statement |
D:\TEMP\Hello\main.f95|31|Error: Symbol 'mynamelist' must be a
NAMELIST group name| ||=== Build failed: 2 error(s), 0 warning(s) (0
minute(s), 2 second(s)) ===|
Un google search n'est vraiment pas très utile. Les seuls forums que j'ai trouvés expliquent pourquoi cela se produit, mais pas comment y remédier. Comment puis-je faire fonctionner ceci dans GFortran? S'il vous plaît noter que cela fonctionne dans IFort.