FORTRAN IN パラメーターを変更することはできません。
"IN" として宣言した引数は、純粋な入力パラメーターとして使用します。ただし、すべての FORTRAN 引数は参照渡しなので、 仮引数を変更すると "IN" としてマークされている実引数も変更されます。
ID |
問題箇所 |
説明 |
---|---|---|
1 |
定義 |
引数が定義された場所 |
2 |
メモリーへの不正な書き込み |
引数が変更された場所 |
subroutine IModifyMyArg(k) integer :: k k = k+1 end subroutine TestProc(i) integer, intent(in) :: i call IModifyMyArg(i) ! argument "i" is INTENT(IN) dummy argument ! but it is modified by IModifyMyArg print *,i end integer :: j read *,j print *,j call TestProc(j) print *,j end
© 2010 Intel Corporation. 無断での引用、転載を禁じます。