Ich habe Probleme beim Schreiben eines zuweisbaren Array in einem abgeleiteten Typ mit Namelists verschachtelt. Ein minimales Beispiel wird unten gezeigt. Wie kann ich das Programm so ändern, dass das zuweisbare Array innerhalb des abgeleiteten Typs so funktioniert, als wäre es nicht verschachtelt?Wie schreibe ich ein zuweisbares Array in einem abgeleiteten Typ mit Namenslisten?
program test
implicit none
type struct_foo
integer, allocatable :: nested_bar(:)
end type struct_foo
integer, allocatable :: bar(:)
type(struct_foo) :: foo
! namelist/list/foo, bar
namelist/list/bar
allocate(bar(5))
bar = [1:5]
allocate(foo%nested_bar(5))
foo%nested_bar=[1:5]
write(*,list)
end program test
Mit dem foo kommentiert aus der Namensliste, es funktioniert gut, die Ausgabe produzieren:
>> ifort -traceback test_1.f90 -o test && ./test
test_1.f90(20): error #5498: Allocatable or pointer derived-type fields require a user-defined I/O procedure.
write(*,list)
--------^
compilation aborted for test_1.f90 (code 1)
Können Sie uns sagen, welchen Compiler Sie verwenden? – chw21
iforort (IFORT) 15.0.3 20150408 – lenzinho