Ошибка сегментации с необязательными аргументами в функциях Фортрана
Я могу использовать Фортран необязательные аргументы с подпрограммами сintent(in)
а такжеintent(inout)
, но с функциями необязательные аргументы работают только сintent(in)
, правильно? С участиемintent(inout)
Я получаю ошибки сегментации в следующем коде:
real function foo(x, tol)
real, intent(in) :: x
real, optional, intent(inout) :: tol
if( .not. present(tol) ) tol = 1e-6
!...
end function foo