Вот MWE функции в моем коде, который производит две ошибки, когда компилируется:«неклассифицируемое заявление» в случае заявление
function foo (a)
implicit none
real, intent(in)::a
real::foo
if -1.0 < 0.0 then
write(*,*) "hi"
end if
foo = a
end function foo
Ошибки, которые я получаю во время компиляции является:
frag.f90:7063.8:
if -1.0 < 0.0 then
1
Error: Unclassifiable statement at (1)
frag.f90:7065.11:
end if
1
Error: Expecting END FUNCTION statement at (1)
Я не понимаю, почему я получаю неклассифицируемый отчет в заявлении if
. Я полагаю, что вторая ошибка привязана к первой (если нет инструкции if
, нет необходимости ее закрывать), поэтому, если первая ошибка будет исправлена, вторая также должна быть исправлена.
Я скомбинирован с использованием gfortran
.
Когда я преподаю, я всегда спрашиваю студентов, чтобы добавить скобки вокруг условий, даже если язык программирования не навязываю. Он хорош для удобочитаемости и отладки и действительно является обязательным в fortran. – innoSPG