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文を作って変数を共有してますが、何か気持ち悪いので考えられる原因を教えて頂けますか?