Проблема чтения из файла с массивами - PullRequest
3 голосов
/ 18 апреля 2011

На Fortran 95 я получаю сообщение об ошибке, в котором говорится, что itemarray (размер) не может быть намеренным (out), что не имеет никакого смысла, потому что вы читаете itemarray из файла. Как я могу исправить эту ошибку?

В этой подпрограмме я в основном пытаюсь прочитать файл и сохранить значения в массивах.

Ниже приведен код подпрограммы, на которую я ссылаюсь. Любая помощь приветствуется. Спасибо за ваше время.

SUBROUTINE readItems(size,itemarray,priarray,quarray)

INTEGER:: iost=0, i=0
INTEGER, INTENT(OUT):: quarray(50)
INTEGER, INTENT(OUT):: size
REAL, INTENT(OUT):: priarray(50)
CHARACTER(20),INTENT(OUT)::itemarray(50)
CHARACTER(20)::namefiletoread

PRINT*,"Enter the name of file you would like to read: "
READ*,namefiletoread

OPEN(UNIT=77,FILE = namefiletoread, ACTION = "READ", STATUS="REWIND",IOSTAT=iost)
IF(iost>0)STOP "Problem opening the file!"

DO i=1, size
READ(77,'(A,F6.2,I8)',IOSTAT=iost), itemarray(i), priarray(i),quarray(i)
IF(iost<0)STOP
END DO


END SUBROUTINE

1 Ответ

3 голосов
/ 18 апреля 2011

Проблема может быть с переменной «размер». Он объявлен как намеренный (выходной), так что он явно не исходит от вызывающей функции, и, кажется, он нигде не назначен до того, как вы начнете перебирать его.

...