Segmentierungsfehler mit optionalen Argumenten in Fortran-Funktionen

Ich kann Fortran optional argumenrs mit Unterprogrammen mit verwendenintent(in) undintent(inout), aber mit Funktionen funktionieren optionale Argumente nur mitintent(in), Recht? Mitintent(inout) Ich erhalte Segmentierungsfehler in folgendem Code:

real function foo(x, tol) 
    real, intent(in) :: x
    real, optional, intent(inout) :: tol
    if( .not. present(tol) ) tol = 1e-6
    !...
end function foo

Antworten auf die Frage(1)

Ihre Antwort auf die Frage