El resultado de la función no tiene tipo implícito
A continuación se muestra un código de muestra que aborda el problema que estoy teniendo. El mensaje de error que recibo es
El resultado de la función 'muestra' en (1) no tiene tipo IMPLICIT.
Etiqueto donde la línea (1) está debajo.
Traté de seguiresta otra preguntaSin embargo, no pude resolverlo. Esta función está dentro de un módulo en mi programa y me aseguré de que el módulo tengacontains
y termino el módulo después de esta función.
Yo tambien usoimplicit none
en esta función, así que no estoy seguro de por qué recibo este mensaje. ¿Cómo puedo solucionar este mensaje de error?
AgregandoReal
oComplex
en frente defunction
funciona, pero realmente no entiendo por qué. ¿No debería poder usar complejos ya que las matrices son complejas dentro de la función? ¿Cuál es más adecuado para mi función real? Ambos no producen errores de compilación.
real function Sample(func) !this is line (1)
!complex function Sample(func)
implicit none
integer :: n,m
real :: x,y
complex, dimension(-9:9,-9:9), intent(in) :: func
complex, dimension(-9:9,-9:9) :: LocalF
LocalF = func
do n=-9,9
do m=-9,9
x = real(n)*0.2
y = real(m)*0.2
LocalF(n,m)= cmplx(z1(x,y),z2(x,y)) !assume z1,z2 are well defined
end do
end do
end function Sample