У меня есть тип Fortran, в котором есть запись, которая снова является типом. Этот тип имеет размещаемый целочисленный массив:
type inner
integer, allocatable :: dyn_arr(:)
integer another_var
end type
type outer
type(inner) entry
type(inner) another_entry
end type
Я выделяю массив и затем вызываю подпрограмму. Внутри подпрограммы я хочу получить доступ к массиву.
type(outer) main_struct
allocate(main_struct%entry%dyn_arr(100))
call routi(main_struct)
Мой код segfaults. Когда я запускаю с отладчиком, перед вызовом все кажется нормально, когда я вхожу в подпрограмму routi
, отладчик говорит, что dyn_arr
не выделено. Как это может быть?