くだすれFORTRAN(超初心者用)その4at TECH
くだすれFORTRAN(超初心者用)その4 - 暇つぶし2ch604:デフォルトの名無しさん
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文を作って変数を共有してますが、何か気持ち悪いので考えられる原因を教えて頂けますか?


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch