как избежать ошибки переполнения при использовании массива указателей большого размера
Мой код просто создает подпрограмму для чтения файла, получения данных и сохранения их в двух массивах (размерность массива должна быть объявлена внутри функции)
размерность двух массивов объявлена внутри подпрограммы, и для их выделения и извлечения из подпрограммы без указателя выдается ошибка
ARRAY1 is a dummy argument and so cannot be ALLOCATABLE
Вот код и ошибка в строке вызова подпрограммы
! declaration Main code
CHARACTER*200 :: configfile = "config.txt"
INTEGER*4, DIMENSION(:,:), ALLOCATABLE :: add_array(:,:), route_array(:,:)
call ReadConfigfile(configfile, array1, array2)
и подпрограмма
SUBROUTINE ReadConfigfile(fname, array1, array2)
integer :: dim1, dim2
CHARACTER*200 :: fname
INTEGER*4, POINTER :: array1(:,:), array2(:,:)
some statements to get the dimension from the file
allocate(array2(dim1,5), array2(dim2,5))
some statements to get store the numbers from the file into array1 & array2
END SUBROUTINE ReadConfigfile
и ошибка, которую я получаю
Integer overflow at address 004019933 in file flowaccumulation.95 at line 161