O resultado da função não possui tipo implícito
Abaixo está um código de exemplo que aborda o problema que estou tendo. A mensagem de erro que estou recebendo é
O resultado da função 'amostra' em (1) não tem tipo IMPLICIT.
Rotulo onde a linha (1) está abaixo.
Eu tentei seguiressa outra pergunta, no entanto, não consegui descobrir. Esta função está dentro de um módulo no meu programa e eu verifiquei se o módulo possuicontains
e encerro o módulo após esta função.
Eu também usoimplicit none
nessa função, então não sei por que recebo essa mensagem. Como posso corrigir esta mensagem de erro?
AdicionandoReal
ouComplex
em frente defunction
funciona, mas eu realmente não entendo o porquê. Eu não deveria ser capaz de usar complexo apenas porque as matrizes são complexas dentro da função? Qual é o mais adequado para a minha função real? Ambos não produzem erros de compilação.
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