为什么这段代码不起作用,替代方案是什么?
module find_integers_module
implicit none
contains
integer function function1(r) result(rnext)
implicit none
integer,intent(in) :: r
integer :: k = r
rnext = -1
end function function1
end module
答案 0 :(得分:4)
Fortran标准要求integer :: k = r
中初始化的 rhs 是常量表达式;你可能会把它想象成在编译时可计算,虽然这不是标准所说的。
解决方法很简单:
integer :: k
k = r