Unrue
31-08-2006, 17:05
Ho un problema con una funzione che ritorna un puntatore ad intero. Il valore ritornato non ha senso:
PROGRAM prova3
IMPLICIT NONE
INTEGER :: primo,secondo
INTEGER,POINTER :: punt
WRITE (*,*) 'PRIMO NUMERO'
READ(*,*) primo
WRITE (*,*) 'SECONDO NUMERO'
READ(*,*) secondo
punt=> Somma(primo,secondo)
WRITE(*,*) 'RISULTATO :', punt
CONTAINS
FUNCTION Somma(a,b)
INTEGER, INTENT(IN)::a
INTEGER, INTENT(IN)::b
INTEGER,TARGET::c
INTEGER,POINTER :: Somma
c=a+b
Somma =>c
RETURN
END FUNCTION Somma
END PROGRAM prova3
forse perchè c'è un problema di deallocazione..
PROGRAM prova3
IMPLICIT NONE
INTEGER :: primo,secondo
INTEGER,POINTER :: punt
WRITE (*,*) 'PRIMO NUMERO'
READ(*,*) primo
WRITE (*,*) 'SECONDO NUMERO'
READ(*,*) secondo
punt=> Somma(primo,secondo)
WRITE(*,*) 'RISULTATO :', punt
CONTAINS
FUNCTION Somma(a,b)
INTEGER, INTENT(IN)::a
INTEGER, INTENT(IN)::b
INTEGER,TARGET::c
INTEGER,POINTER :: Somma
c=a+b
Somma =>c
RETURN
END FUNCTION Somma
END PROGRAM prova3
forse perchè c'è un problema di deallocazione..