Fortran编程出现 Error

我使用Fortran写一个DLL,前面函数的声明如下:subroutinegalfit(Temp,freqnom,molmass,m,nl,n,delnuD,parm,z... 我使用Fortran写一个DLL,前面函数的声明如下:

subroutine galfit(Temp,freqnom,molmass,m,nl,n,delnuD,parm,z0,base_offset,base_slope,dxx,gexp,xx,rn,parm1,ldfjac,lwa,info
后面又声明了全局变量:
common xx(npts),gexp(npts),numfft,xmax,z,t,nl
但是出现错误:
Error: A dummy argument name is invalid in this context. [XX]
common xx(npts),gexp(npts),numfft,xmax,z,t,nl
---------------^
Error: A dummy argument name is invalid in this context. [GEXP]
common xx(npts),gexp(npts),numfft,xmax,z,t,nl
------------------------^
Error: A dummy argument name is invalid in this context. [NL]
common xx(npts),gexp(npts),numfft,xmax,z,t,nl
哪位大神能告诉我怎么解决这个问题吗?可以增加悬赏!
展开
 我来答
天河流纹石
2013-10-08 · TA获得超过1.3万个赞
知道大有可为答主
回答量:7624
采纳率:76%
帮助的人:4824万
展开全部
如果你通过虚参传递 xx ,那就不要再放入 common 里面了。

这两种方法都可以用来传递数据,但不能同时使用。

请不要问我如何修改,这取决于你打算用什么方法传递 xx
追问
请问一下,通过虚参传递是指,不同子函数之间虚参的命名相同,那么他们的数据就是共享的?
追答
建议你看一本教材吧。

不同子程序的虚参命名相同,并不说明什么。
调用者通过实参与被调用者的虚参对应,实现数据共享。
举例:

调用者(实参):
call 结婚(张三,李四)
call 结婚(王麻子,赵瘸子)
call 离婚(张三,李四)

被调用者(虚参):
subroutine 结婚(男方,女方)
subroutine 离婚(男方,女方)

子程序 结婚 和 子程序 离婚。他们的虚参都是 男方 和 女方。但结婚的男方,与离婚的男方没有直接关系。(所以,不同子程序之间的虚参命名相同,并不说明什么)

调用者的实参,张三,李四。与结婚的虚参,男方,女方进行对应。
此时,结婚的男方就是张三,结婚的女方就是李四。

目前来说,我不建议你用 COMMON 传递数据。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
_啡吗
2013-10-08
知道答主
回答量:19
采纳率:0%
帮助的人:8.4万
展开全部
推荐去贴吧里问
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式