私はFortran、特にモジュールを学んでいます。私はこの単純なコードを書いて、正弦関数の導関数を計算する必要があります:Fortranエラー:(1)で引数 'n'に型不一致があります。 REAL(4)をINTEGER(4)に渡しました
module constants
real, parameter::x=3.14
real, parameter::h=0.0001
end module constants
module derivata1
contains
real function der1(n)
use constants
real::der
der=(sin(x+h)-sin(x))/h
end function der1
end module derivata1
program derivate
use constants
use derivata1
implicit none
real der1
print *, der1(x)
end program derivate
gfortranで次のエラーが発生します。
der2.f90:40.10:
real der1
1
der2.f90:38.5:
use derivata1
2
Error: Symbol 'der1' at (1) conflicts with symbol from module 'derivata1', use-associated at (2)
der2.f90:44:15:
print *, der1(x)
1
Error: Type mismatch in argument ‘n’ at (1); passed REAL(4) to INTEGER(4)
私は、しかし、結果なしで、thisとthis投稿を行いました。
ここで私のエラー
質問に完全なエラーメッセージを投稿してください。どのコンパイラを使用しているか教えてください。これはgfortranのように見えますが、gfortranは通常、あなたが私たちに提示した部分だけよりも有用な情報を表示します。最も良いことは、実行したコマンドを含む完全な出力を表示することです。 –
@VladimirF完全なメッセージを追加しました – mattiav27