lveZ 发表于 2019-12-30 23:39:45

求助The data types of the argument(s) are invalid.

program main
    character(len=20) :: filedir1,filedirN1,filedir2,filedirN2,filedir3,filedirN3,filedir4,filedirN4,filedir5,filedirN5,filedir6,filedirN6,filedir7,filedirN7
    character(len=17) :: filename
    character(len=100) :: line
       filename='APMG3490.19D'
       filedir1='D:\CIDE1\2019\'
      filedirN1='D:\CIDEN1\2019\'
      filedir2 = 'D:\CIDE2\2019\'
      filedirN2 = 'D:\CIDEN2\2019\'
      filedir3='D:\CIDE3\2019\'
      filedirN3 = 'D:\CIDEN3\2019\'
      filedir4='D:\CIDE4\2019\'
      filedirN4 = 'D:\CIDEN4\2019\'
       filedir5='D:\CIDE5\2019\'
      filedirN5 = 'D:\CIDEN5\2019 '
       filedir6='D:\ CIDE6\2019\'
      filedirN6 = 'D:\CIDEN6\2019\'
    filedir7='D:\CIDE\2019\'
    filedirN7 = 'D:\CIDEN\2019\'
      OPEN(20,FILE=trim(adjustl(filedirN1))//trim(adjustl(filenam)),position='append' )
      OPEN(30,FILE=adjustl(trim(filedirN2))//adjustl(trim(filenam)))
      OPEN(40,FILE=adjustl(trim(filedirN3))//adjustl(trim(filenam)))
      OPEN(50,FILE=adjustl(trim(filedirN4))//adjustl(trim(filenam)))
      OPEN(60,FILE=adjustl(trim(filedirN5))//adjustl(trim(filenam)))
      OPEN(70,FILE=adjustl(trim(filedirN6))//adjustl(trim(filenam)))
         
         !DOWHILE(.NOT.EOF(20))
         !    read(20,*)line
         !enddo
   DOWHILE(.NOT.EOF(30))
       read(30,*)line
       write(20)line
   enddo
   DOWHILE(.NOT.EOF(40))
       read(40,*)line
       write(20)line
   enddo
   DOWHILE(.NOT.EOF(50))
       read(50,*)line
       write(20)line
   enddo
   DOWHILE(.NOT.EOF(60))
       read(60,*)line
       write(20)line
   enddo
   close(30)
   close(40)
   close(50)
   close(60)
   close(70)
   end
报错
C:\Users\dell\Desktop\HBtest\HBtest\HE_NE1.f90(21): error #6362: The data types of the argument(s) are invalid.   
C:\Users\dell\Desktop\HBtest\HBtest\HE_NE1.f90(22): error #6362: The data types of the argument(s) are invalid.   
C:\Users\dell\Desktop\HBtest\HBtest\HE_NE1.f90(23): error #6362: The data types of the argument(s) are invalid.   
C:\Users\dell\Desktop\HBtest\HBtest\HE_NE1.f90(24): error #6362: The data types of the argument(s) are invalid.   
C:\Users\dell\Desktop\HBtest\HBtest\HE_NE1.f90(25): error #6362: The data types of the argument(s) are invalid.   
C:\Users\dell\Desktop\HBtest\HBtest\HE_NE1.f90(26): error #6362: The data types of the argument(s) are invalid.   
请问大家是有什么问题呢?

necrohan 发表于 2019-12-31 09:14:47

filenam不是filename,没有声明,相当于用了隐含规则作为实数,所以函数出错。
建议用 implicit none

lveZ 发表于 2020-1-1 22:41:52

necrohan 发表于 2019-12-31 09:14
filenam不是filename,没有声明,相当于用了隐含规则作为实数,所以函数出错。
建议用 implicit none ...

好的,谢谢您,这个问题后来我注意到了,也改过来了,但是依旧不对,好像是没有识别关键字

vvt 发表于 2020-1-2 08:02:15

给新的代码,新的错误提示
页: [1]
查看完整版本: 求助The data types of the argument(s) are invalid.