2014-03-05 164 views
0

爲什麼這段代碼不起作用,還有什麼替代方法?在Fortran中聲明變量

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 

回答

4

Fortran標準要​​求RHS初始化的integer :: k = r常數表達式;你可能會認爲在編譯時時可以計算得出,儘管這不是標準所說的。

解決方法很簡單:

integer :: k 
k = r 
+1

不要忘記保存。 – IanH

+1

我忘了'保存'。 –