在Fortran中声明变量

时间:2014-03-05 11:39:19

标签: fortran fortran95

为什么这段代码不起作用,替代方案是什么?

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

1 个答案:

答案 0 :(得分:4)

Fortran标准要​​求integer :: k = r中初始化的 rhs 常量表达式;你可能会把它想象成在编译时可计算,虽然这不是标准所说的。

解决方法很简单:

integer :: k
k = r