Błąd segmentacji z opcjonalnymi argumentami w funkcjach Fortrana
Mogę używać Fortran opcjonalnych argumenników z podprogramamiintent(in)
iintent(inout)
, ale z funkcjami opcjonalne argumenty działają tylko zintent(in)
, dobrze? Zintent(inout)
Dostaję błędy segmentacji w następującym kodzie:
real function foo(x, tol)
real, intent(in) :: x
real, optional, intent(inout) :: tol
if( .not. present(tol) ) tol = 1e-6
!...
end function foo