Наконец, общий совет - не принимать ответ слишком быстро, он часто препятствует дальнейшим ответам. [Ни один из этих комментариев не означает: прими мой ответ. Опять же, я предпочитаю другой, чем мой.]

приведен пример кода, который решает проблему, с которой я столкнулся. Я получаю сообщение об ошибке:

Результат функции 'sample' в (1) не имеет типа IMPLICIT.

Я отмечаю, где строка (1) находится ниже.

Я пытался следоватьэтот другой вопросОднако я не смог понять это. Эта функция находится в модуле в моей программе, и я убедился, что модуль имеетcontains и я заканчиваю модуль после этой функции.

Я также используюimplicit none в этой функции, поэтому я не уверен, почему я получаю это сообщение. Как я могу исправить это сообщение об ошибке?

ДобавлениеReal или жеComplex передfunction работает, но я не понимаю почему. Разве я не могу использовать только сложный, так как массивы сложны внутри функции? Что больше подходит для моей реальной функции? Оба не дают ошибок компиляции.

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

Ответы на вопрос(2)

Ваш ответ на вопрос