2013-12-12 49 views
0

,當我在此代碼中使用整數聲明,我與gfortran沒有錯誤,但是當我在聲明中使用REAL,我有這樣的錯誤:我找不到我的錯誤,在此Fortran代碼

Error: Type mismatch in argument 'a' at (1); passed INTEGER(4) to 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 

感謝您的時間

回答

2

錯誤消息是相當明確的,要傳遞一個integer參數一個希望將real申辯功能換貨。你可以此行

resultat = moyen(100,50) 

改變

resultat = moyen(100.0,50.0) 

事實上,你可以看到,你在一行犯同樣的錯誤兩次,編譯器只是標識第一次出現。

+0

非常感謝你 – younesky