[英]Fortran 77 and passing an array to a subroutine
我有以下代碼:
parameter (maxprt=25)
dimension pt(maxprt)
impt = maxprt
call rdprob(delt,denr,denw,ders,des,ecapr,ecapw,ein,erb0,erock,ext,iflim,ifmax,ifseg,ilim,ilpt,impt,iout,irlim,ismax,itstep,maxrk,pt,qexto,qfrac,qin,qnxt,qtot,rockr,rockv,t0,te0,tend,ter0,tstart,vol,xin,xs,ir1)
subroutine rdprob(delt,denr,denw,ders,des,ecapr,ecapw,ein,erb0,erock,ext,iflim,ifmax,ifseg,ilim,ilpt,impt,iout,irlim,ismox,itstep,maxrk,pt(25),qexto,qfrac,qin,qnxt,qtot,rockr,rockv,t0,te0,tend,ter0,tstart,vol,xin,xs,ir1)
當我去編譯鏈接時,我得到指示pt是一個問題
borehole.for: In program `MAIN__':
borehole.for:111:
call rdprob(delt,denr,denw,ders,des,ecapr,ecapw,ein,erb0,erock,ext,iflim,ifmax,ifseg,ilim,ilpt,impt,iout,irlim,ismax,itstep,maxrk,pt
^
Expression at (^) has incorrect data type or rank for its context
關於如何解決此問題或在傳遞數組時正確調用子例程的任何想法
這是您聲明數組參數的方式:
parameter (maxprt=25)
dimension pt(maxprt)
call test(pt)
還有其他地方
subroutine test(a)
dimension a(25)
end subroutine
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.