fortran函数问题

我在函数里面用前面定义的数组时,因为表示方法和函数都一样,都是用小括号,它总以为用的是函数,然后报错,说没定义这个函数,怎么解决这个问题呢?... 我在函数里面用前面定义的数组时,因为表示方法和函数都一样,都是用小括号,它总以为用的是函数,然后报错,说没定义这个函数,怎么解决这个问题呢? 展开
 我来答
BiCGSTAB
2010-10-26 · TA获得超过878个赞
知道小有建树答主
回答量:238
采纳率:0%
帮助的人:0
展开全部
那是因为你没有在函数里面声明那个数组。比如:

program main
integer,dimension(3)::a
integer::s,sum1
s=sum1(a)
end

function sum1(a)
integer,dimension(3)::a ! 必须有这一句
sum1=a(1)+a(2)+a(3)
end function sum1

或者像楼上说的,用module。

module aa
integer,dimension(3)::a
end module aa

program main
use aa
integer::s,sum1
s=sum1(a)
end

function sum1(a)
use aa ! 必须有这一句
sum1=a(1)+a(2)+a(3)
end function sum1
9192631770
2010-10-25 · TA获得超过7308个赞
知道大有可为答主
回答量:3138
采纳率:50%
帮助的人:2965万
展开全部
对于函数外定义的数组,如果没有use或者是在全局公共区里的话,是无法在函数里直接引用的。
要么封装到module里然后use,要么通过虚参传递进来。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式