Ich habe ein CERN-Programm, das die Gammafunktion eines komplexen Arguments berechnet, aber ich kann das Programm wegen fehlendem Fortran-Wissen nicht ausführen.Eine Funktionsreferenz ruft ein Unterprogramm auf
Ich habe folgendes Programm:
PROGRAM Console1
IMPLICIT REAL *8 (A-H,O-Z)
COMPLEX *16 gama,z,w
z=cmplx(0,0.707106781186548d0)
gama=cgamma(0,z,w)
END
SUBROUTINE cgamma(mo, z, w)
INTEGER, PARAMETER :: dp = SELECTED_REAL_KIND(14, 60)
INTEGER, INTENT(IN) :: mo
COMPLEX (dp), INTENT(IN) :: z
COMPLEX (dp), INTENT(OUT) :: w
... the subroutine code here
END SUBROUTINE cgamma
und dann Fehler angezeigt
Fehler # 6553: Eine Funktionsreferenz ein Unterprogramm-Unterprogramm aufruft. [CGAMMA]
Was haben Sie? Eine .exe oder .so oder was? – Holmz
Es ist ein .f90 Ich habe das Programm hinzugefügt. –
Verwenden Sie 'IMPLICIT' nicht das' IMPLICIT NONE'. Sehen Sie sich den Unterprogramm-Code an, wie Variablen definiert werden sollten. Du verlangst eine Menge Ärger, indem du 'IMPLICIT REAL' verwendest. –