09/09/12 21:29:22
subroutineを呼び出すときに、
・
・
IF ((N.eq.3950).or.(N.eq.2050).or.(N.eq.50)) THEN
CALL DIST(N)
END IF
・
・
・
SUBROUTINE DIST(N)
・
・
だと普通に呼び出せるんですが、
IF ((N.eq.3950).or.(N.eq.2050).or.(N.eq.50)) THEN
CALL DIST(N,M)
END IF
・
・
SUBROUTINE DIST(N,M)
とすると「実引数の数は仮引数の数より多く出来ません」(callの行にエラー)と怒られます。
N,Mはそれぞれ暗黙の型宣言による整数で、念のためちゃんと宣言してみても同じエラーが出てコンパイルできません。
整数型2個で同じなはずだと思うんですが…
ちなみに呼び出す側も別のサブルーチンの一部で、どちらも多くのmoduleをuse文で使ってますが関係ないですよね?
今のところ仕方ないんで別にmodule文を作って変数を共有してますが、何か気持ち悪いので考えられる原因を教えて頂けますか?