【发布时间】:2020-04-03 00:38:59
【问题描述】:
对于某些用途,我需要在 fortran 模块中的另一个函数中定义一个函数。 一个易于理解的示例代码是
module func
implicit none
contains
real function f(x,y)
real x,y,g
real function g(r)
real r
g=r
end function g
f=x*g(y)
end function f
end module func
use func
implicit none
write(*,*) f(1.0,1.0)
end
这会在 gfortran 中产生很多错误,例如意外的数据声明、预期的结束函数 f,而不是 g....等。
在 fortran 中定义另一个函数内的函数的正确方法是什么?
【问题讨论】:
-
您可以将
g设为f的内部函数。或者,鉴于您的示例很简单,您可以使用 语句函数。前者是首选,后者已过时。
标签: function compiler-errors fortran