fortran函数中的可选参数

我正在学习Fortran,此时可选参数.

我可以将它们与具有intent(in)和intent(inout)的子例程一起使用,但是使用函数可选参数只能用于intent(in),对吧?有意图(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 

但我想使用它即使不存在并设置默认值,就像在C中我们做类似的事情

double foo(double x, double tol=1e-6)

我怎样才能做到这一点?谢谢

转载注明原文:fortran函数中的可选参数 - 代码日志