これは私がメインプログラム内に持つFortranの関数です。あなたが見ることができるように、ZLAMSのようないくつかの変数型は先頭に宣言されていません。しかし、gfortran 5.2は何のエラーも報告しません。しかし、このコードを別のモジュールに移動し、メインモジュールでこの関数を呼び出すと、宣言されていないすべての変数がコンパイルエラーを報告します。どうして ?関数変数が宣言されていない場合、gfortranはコンパイルエラーを報告しません
REAL(kind=sp) FUNCTION ABCTEST (PHIS, LAMS, POLPHI, POLLAM)
use k_parameters,ONLY:&
sp
REAL(KIND=SP) LAMS,PHIS,POLPHI,POLLAM
DATA ZRPI18 , ZPIR18/57.2957795 , 0.0174532925/
SINPOL = SIN(ZPIR18*POLPHI)
COSPOL = COS(ZPIR18*POLPHI)
ZPHIS = ZPIR18*PHIS
ZLAMS = LAMS
IF(ZLAMS.GT.180.0) ZLAMS = ZLAMS - 360.0
ZLAMS = ZPIR18*ZLAMS
ARG = COSPOL*COS(ZPHIS)*COS(ZLAMS) + SINPOL*SIN(ZPHIS)
ABCTEST = ZRPI18*ASIN(ARG)
RETURN
END FUNCTION ABCTEST
明示的に宣言するのではなく、必ずしもエラー状態(_implicit宣言_を読んでください)ではなく、モジュールでのあなたのケースがうまくいかない理由については、その例を参照する必要があります。 – francescalus