前提・実現したいこと
ここに質問の内容を詳しく書いてください。
fortran90の初心者です。教科書に乗っているサンプルプログラム通りに作ったのですが、下記のエラーがでてコンパイルが通らなくて困っています。時間の加算をするプログラムです。
コンパイラはgfortranを使っています。
発生している問題・エラーメッセージ
コンパイルが通らない
エラーメッセージ
Type mismatch in argument ‘x’ at (1); passed TYPE(time) to TYPE(time) [-Wargument-mismatch]
該当のソースコード
fortran90
ソースコード
program ex
implicit none
type time
integer::hh,mm,ss
end type time
type(time)::x,y,z x=time(1,56,48) y=time(2,18,25) call time_add(x,y,z) write(6,*) z%hh,':',z%mm,':',z%ss
end program ex
subroutine time_add(x,y,z)
implicit none
type time
integer::hh,mm,ss
end type time
type(time)::x,y,z
integer ::cr
z%ss=x%ss+y%ss
cr=0
if( z%ss >= 60) then
z%ss=z%ss-60
cr=1
end if
z%mm=x%mm+y%mm+cr
cr=0
if( z%mm>= 60) then
z%mm=z%mm-60
cr=1
end if
z%hh=x%hh+y%hh+cr
end subroutine time_add
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/07 05:21
2018/06/07 05:44
2018/06/07 17:24 編集
2018/06/08 13:34
2018/06/16 03:42