1

メインプログラムでこれらの変数が宣言されているFORTRAN 95コードがあります。

integer :: i
real(8) :: dx                               
real(8), allocatable :: X(:), Y(:), Z(:)

次の関数は、プログラム中のある時点でこれらの値を使用します。

function Funcion_ceros(var_4)           
        implicit none
        real(8), intent(in) :: var_4(2)
            real(8) :: Funcion_ceros(2)
            Funcion_ceros(1) = var_4(1) - Y(i) - dx*var_4(2)
            Funcion_ceros(2) = var_4(2) - Z(i) - dx*F(X(i + 1), var_4(1), var_4(2))
end function Funcion_ceros

この関数をメイン プログラムの contains セクションに含めれば、コンパイルの問題はありません。ただし、モジュールに分割すると、これらの変数にアクセスできなくなります。モジュールで上記と同じ変数を指定しようとすると、次のエラーが発生します。

Symbol 'i' at (1) conflicts with symbol from  module 'Module_Name', use associated at (2).

この関数をモジュールに分割して、メイン プログラムから使用する変数に同時にアクセスできるようにするにはどうすればよいですか?

4

1 に答える 1