PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fortran90/95: typdeklaration



fs82
07-08-2007, 19:30
Hallo Leute ich hoffe es kennt sich jemand mit Fotran aus. Ich habe folgendes Problem. Ich möchte gern eine Funktion schreiben die anhand eines Flags entweder ein Integer-Array oder ein Real-Array allokiert. In C/C++ ist das kein Problem, aber offensichtlich in Fortran. Mir scheint, dass hab ich beim probieren festgestellt, dass man Deklarationen unbedingt vor der ersten Anweisung machen muss, man kann also nicht schreiben:

IF (FLAG==1) THEN
REAL, DIMENSION(:,:), ALLOCATABELE :: real_array
ELSE
INTEGER; DIMENSION(:,:), ALLOCATABLE :: integer_array
END IF

oder? Wäre für Hilfe Dankbar.

Update: Nun das geht im Fortran tatsächlich nicht. Man kann nur Interfaces schreiben, welche je nach Bedarf eine entsprechend andere Funktion aufrufen :-D

mfg
Fabian