从带有数组的文件读取问题

| 在Fortran 95上,我收到一条错误消息,指出itemarray(size)不能是intent(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
    
已邀请:
问题可能出在变量\“ size \”。它被声明为intent(out),因此很明显它不是来自调用函数,并且在开始对其进行迭代之前,似乎没有在任何地方分配它。     

要回复问题请先登录注册