オプション・パラメーターは、使用する前にその有無を確認する必要があります。
オプション・パラメーターの有無を確認しないで使用するのは安全ではありません。パラメーターがない場合、NULL ポインター例外が発生します。
ID
|
問題箇所
|
説明
|
1
|
不正なメモリーアクセス
|
オプション・パラメーターが使用された場所
|
例
subroutine mysub(j)
integer, optional :: j
! This is good usage
if (present(j)) print *, j
! This is bad usage
print *, j
end
call mysub(5)
call mysub()
end