program intent_error implicit none real x, y x = 1.0 y = 2.0 call mysub(x,y) print *, x, y contains subroutine mysub(a,b) real,intent(in) :: a ! aが入力引数であることを明示 real,intent(out) :: b ! bが出力引数であることを明示 a = 5.0 ! Error - 入力引数であるのに値が設定された print *, b ! Error - 出力引数であるのに値の参照が行われた end subroutine end program intent_error