当我在这段代码中使用INTEGER声明时,我对gfortran没有错误,但是当我在声明中使用REAL时,我有这个错误:
错误:在(1)处的参数'a'中键入不匹配;将INTEGER(4)传递给REAL(4)
这是我的代码:
Program workout
IMPLICIT none
REAL :: resultat
resultat = moyen(100,50)
WRITE(*,*) resultat
CONTAINS
REAL FUNCTION moyen(a,b)
IMPLICIT none
REAL,INTENT(IN) :: a, b
moyen = (a - b)/2
END FUNCTION moyen
End Program workout
感谢您的时间
答案 0 :(得分:2)
错误消息非常明确,您将integer
参数传递给期望real
参数的函数。你可以改变这一行
resultat = moyen(100,50)
到
resultat = moyen(100.0,50.0)
事实上,正如您所看到的,您在一行中两次犯同样的错误,编译器只是识别第一次出现。