Fortran Coder

数组维数是参数的子程序在主程序中的调用问题

查看数: 2660 | 评论数: 3 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-7-15 18:30

正文摘要:

子程序的输入输出参数包含一个数组,数组的维数是一个参数,在主程序中调用的时候显示必须是一个虚拟参数,一个公共块对象,或通过host或use关联访问的对象,问下大佬这个因该怎么解决,附程序代码,很简单的一个例 ...

回复

zjk0112 发表于 2022-7-18 20:24:26
你没告诉它AB是多少,你这样的output数组用法是固定大小数组 ,可是你并没有给出数组大小。你把integer ab 改成integer,parameter::ab=1 就行了
青衣巷 发表于 2022-7-15 21:43:22
[Fortran] 纯文本查看 复制代码
Module aaa
contains
  subroutine aabs(input,output)
    integer ab , i   
    DOUBLE PRECISION input,output(:)
    ab=size(output)
    do i=1,ab
      output(i)=abs(input)  
    end do   
  end subroutine aabs
End Module aaa
  
program test01
  use aaa
  integer , parameter :: n = 2
  DOUBLE PRECISION input,output(n)
  input=-1    
  call aabs(input,output)     
end program test01

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-3 04:57

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表