函数返回一维数组但在Fortran90

时间:2015-10-08 14:46:39

标签: arrays function compiler-errors fortran fortran90

我正在尝试在程序中定义一个函数,该函数需要两个1D数组x& y然后返回一维数组。请参阅以下内容:

PROGRAM sumtest

IMPLICIT NONE

INTEGER, DIMENSION(10) :: x, y
INTEGER, DIMENSION(10) :: funct
INTEGER :: i

DO i=1,10
   x(i)=i
   y(i)=10-i
END DO

y = funct(x,y)

DO i=1,10
PRINT*,y(i)
END DO

END PROGRAM sumtest

FUNCTION funct(x,y)

IMPLICIT NONE

INTEGER, DIMENSION(10), INTENT(IN) :: x,y
INTEGER :: i
INTEGER, DIMENSION(10) :: funct

DO i=1,10
     funct(i)=x(i)+y(i)
END DO

END FUNCTION funct

然而,当我尝试编译时,我收到错误消息:

sumtest.f90:14:

y = funct(x,y)
1
Error: Incompatible ranks 1 and 2 in assignment at (1)

我只是想知道我需要做些什么来纠正这个问题,或者是否只能将两个参数放在一个返回一维数组的函数中?

0 个答案:

没有答案