Veröffentlicht 19. Januar 201015 j Hallo, es geht um Fortan 77. Vorab die Frage: Können Subroutines überhaupt Funktionen aufrufen? Ich habe folgenden Aufbau (Metakommentare stehen in "") : SUBROUTINE KALK_DELTAT ( c NLOC, NRET, NARG, RET, ARGS, CRESLT, CZ,DZ,IZ,LZ,RZ ) IMPLICIT NONE "Variablendeklarationen und Anweisungen" "Es folgt ein beispielhafter Funktionsaufruf" C Initialsiere Verdampfungsenthalpie VENT=dhv(TBETRB) END C **************Bereich für die Funktionen******************** CC Berechnung der Verdampfungsenthalpie C Die Eingabe muss in Kelvin erfolgen. Die Ausgabe erfolgt in kJ*kg^-1. DOUBLE PRECISION function dhv(t) EXTERNAL grei, greii DOUBLE PRECISION t dhv=greii(t)-grei(t) END CC Berechnung der freien Gibbs-Energie (Region I) C Die Eingabe muss in Kelvin erfolgen. Die Ausgabe erfolgt in kJ*kg^-1. DOUBLE PRECISION function grei(t) "Variablendeklarationen und Anweisungen" END CC Berechnung der freien Gibbs-Energie (Region II) C Die Eingabe muss in Kelvin erfolgen. Die Ausgabe erfolgt in kJ*kg^-1. DOUBLE PRECISION function greii(t) "Variablendeklarationen und Anweisungen" END Beim Kompilieren erhalte ich die Fehlermeldung: "Function 'dhv' has no implicit type". Lösche ich das "IMPLICIT NONE" in der Subroutine, erhalte ich die Fehlermeldung, dass die Datentypen REAL(8) und REAL(4) kollidieren. Danke und Grüße, gaussmath
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.