Fortran,外部函数中数组变量作为参数引用出错,求解答 60

程序如下::programmainINCLUDE'link_fnl_shared.h'useqmc_intimplicitnoneinteger,parameter::n... 程序如下::
program main
INCLUDE 'link_fnl_shared.h'
use qmc_int
implicit none
integer, parameter :: ndim=10
real(kind(1d0)) :: a(ndim)
real(kind(1d0)) :: b(ndim)
real(kind(1d0)) :: result
integer :: I
external fcn
a = 0.d0
b = 1.d0
call qmc(fcn, a, b, result)
write (*,*) 'result = ', result
read(*,*)
end

real(kind(1d0)) function fcn(x)
implicit none
real(kind(1d0)), dimension(:) :: x
integer :: i, j
real(kind(1d0)) :: prod, sum, sign
sign = -1.d0
sum = 0.d0
do i=1, size(x)
prod = 1.d0
prod = product(x(1:i))
sum = sum + (sign * prod)
sign = -sign
enddo
fcn = sum
end function fcn

运行后显示
错误 1 error #6633:The type of the actual argument differs from the type of the dummy argument. [FCN]
展开
 我来答
ctcsunzan
2015-11-12 · 超过11用户采纳过TA的回答
知道答主
回答量:23
采纳率:0%
帮助的人:18.2万
展开全部
程序写错了啊,fcn是个函数,你调用qmc函数时候第一个参数应该是“fcn(某变量)”的形式
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式