Il s'agit d'une fonction fortran 90 que j'ai dans un programme principal. Comme vous pouvez le voir plusieurs types de variables tels que ZLAMS ne sont pas déclarés en haut. Mais gfortran 5.2 ne signale aucune erreur. Cependant, si je déplace ce code vers un module séparé et que j'appelle cette fonction dans le module principal, toutes les variables non déclarées signalent une erreur de compilation. Pourquoi ?gfortran ne signale aucune erreur de compilation lorsque les variables de fonction ne sont pas déclarées
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
Ne pas déclarer explicitement les choses n'est pas nécessairement une condition d'erreur (lire à propos de _implicit declaration_) mais pour savoir pourquoi votre cas avec un module ne fonctionne pas, nous aurons besoin de voir un exemple de cela. – francescalus