我正在尝试在程序中定义一个函数,该函数需要两个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)
我只是想知道我需要做些什么来纠正这个问题,或者是否只能将两个参数放在一个返回一维数组的函数中?