Fortran Coder

查看: 10333|回复: 4
打印 上一主题 下一主题

[子程序] 主程序调用subroutine REANIN,我就加里一个变量mf,编译时出错

[复制链接]

3

帖子

1

主题

0

精华

新人

F 币
26 元
贡献
12 点
跳转到指定楼层
楼主
发表于 2016-11-17 14:26:08 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
error #6784: The number of actual arguments cannot be greater than the number of dummy arguments.   [READIN]
主程序中接口为(我加的是最后那个变量mf):
[Fortran] 纯文本查看 复制代码
call readin(ios,in,title,pi,  &
    iut,ibs,ihj,ipi,igf,inp,ida,iat,icl,isl,iop,ifp,  &
    icori,iedgeco,ibutmat,ibutzero,ilevel,  &
    jpm,jpt,jrm,jrt,jvm,jtm,jcb,jcs,jnp,jca,jkm,krt,kpt,kst,kit,kut,kth,  &
    t1,mu1,t2,mu2,t3,mu3,p1,mup1,mup2,pivotk,pivotc,pivotku,pivotkl,  &
    ftc,fsg,fspe,sigmas,zetas, ost,hocof,tsump,rtfv,ptfv,rtst,ubft,grtemp,  &
    shf,hconp,hconr,pid,pod,ple,pte,frach,ri,ro,thick,t1bar,  &
    padm,paditc,paditr,  &
    ym1,pr1,ck1,tys1,tce1,tref1,  &
    ym2,pr2,ck2,tys2,tce2,tref2,  &
    ym3,pr3,ck3,tys3,tce3,tref3,  &
    ym_but,pr_but,ck_but,tys_but,tce_but,tref_but,  &
    pmk,pmz,pro,pco,alpharg,alphacg,  &
    rlevmas,rlevit, rubar,rebar,rhocbar,phiebar,chi,  &
    rir,ror,rth,rmx,rmy,rym,rpr,rck,rty,rce,rrt,rro,  &
    hro,hri,hlt,hsr,hbb,hjro,hjco,hjr,hjld,hjpres,hjcof,  &
    srpm,sald,sflo,sig,sdrr,sdri,th_pl_s,tltpar_s,  &
    crfp,crfa,crfc,cins,cine,cerr,crfq,  &
    delpmax,delamax,delcmax,delsmax,delemax,ros,tos,aos,iost,  &
    phip,garc,alep,pvos,delta,epsilon,crown,crown2,ict,ridd,rodd,philbar,  &
    kappa,deltal,relow,rehi,prndtlt,  &
    mf)

主程序中定义mf:
INTEGER                                          :: mf
子程序为:
[Fortran] 纯文本查看 复制代码
SUBROUTINE readin(ios,in,title,pi,  &
    iut,ibs,ihj,ipi,igf,inp,ida,iat,icl,isl,iop,ifp,  &
    icori,iedgeco,ibutmat,ibutzero,ilevel,  &
    jpm,jpt,jrm,jrt,jvm,jtm,jcb,jcs,jnp,jca,jkm,krt,kpt,kst,kit,kut,kth,  &
    t1,mu1,t2,mu2,t3,mu3,p1,mup1,mup2,pivotk,pivotc,pivotku,pivotkl,  &
    ftc,fsg,fspe,sigmas,zetas, ost,hocof,tsump,rtfv,ptfv,rtst,ubft,grtemp,  &
    shf,hconp,hconr,pid,pod,ple,pte,frach,ri,ro,thick,t1bar,  &
    padm,paditc,paditr,  &
    ym1,pr1,ck1,tys1,tce1,tref1,  &
    ym2,pr2,ck2,tys2,tce2,tref2,  &
    ym3,pr3,ck3,tys3,tce3,tref3,  &
    ym_but,pr_but,ck_but,tys_but,tce_but,tref_but,  &
    pmk,pmz,pro,pco,alpharg,alphacg,  &
    rlevmas,rlevit, rubar,rebar,rhocbar,phiebar,chi,  &
    rir,ror,rth,rmx,rmy,rym,rpr,rck,rty,rce,rrt,rro,  &
    hro,hri,hlt,hsr,hbb,hjro,hjco,hjr,hjld,hjpres,hjcof,  &
    srpm,sald,sflo,sig,sdrr,sdri,th_pl_s,tltpar_s,  &
    crfp,crfa,crfc,cins,cine,cerr,crfq,  &
    delpmax,delamax,delcmax,delsmax,delemax,ros,tos,aos,iost,  &
    phip,garc,alep,pvos,delta,epsilon,crown,crown2,ict,ridd,rodd,philbar,  &
    kappa,deltal,relow,rehi,prndtlt,  &
    mf)
子程序定义mf:
INTEGER, INTENT(IN OUT)                          :: mf  
! INTERNAL VARIABLES:
INTEGER                                          :: i,ierr,iline,mf1
子程序中有关mf的操作:
[Fortran] 纯文本查看 复制代码
iline=iline+1
READ(in,80,IOSTAT=ierr) mf1
80 FORMAT(I5)
IF(ierr /= 0) GOTO 999
IF(mf1>0) mf = mf1


分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

2033

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1642 元
贡献
709 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

沙发
发表于 2016-11-17 19:00:51 | 只看该作者
我单独写成一个程序,是可以编译链接的。

你最好确认一下 readin 函数所在的程序单元是否被重新编译了?这大概是你的编译环境(IDE或make)不当导致的。

3

帖子

1

主题

0

精华

新人

F 币
26 元
贡献
12 点
板凳
 楼主| 发表于 2016-11-17 23:51:16 | 只看该作者
我用的是intel Fortran,我点build 出现的错误,clear solution过,没有用啊,你说的编译环境能说详细些吗

2033

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1642 元
贡献
709 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

地板
发表于 2016-11-18 08:47:11 | 只看该作者
不妨重新创建工程?
另外检查一下你是否有多个 readin 函数?比如一个外部的,一个contains或module里的。而你调用了另一个redin?

3

帖子

1

主题

0

精华

新人

F 币
26 元
贡献
12 点
5#
 楼主| 发表于 2016-11-19 02:33:20 | 只看该作者
谢谢啊,我发现是有另一个redin, 在interface里,我提问里的redin确切说是subtoutine,改了interface,问题已解决
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-12-26 08:38

Powered by Tencent X3.4

© 2013-2024 Tencent

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