既存のサブルーチンA(a,b,c,d,e)
は正常に動作しています。 a,b,c
が実際の引数です。d
とe
は省略可能な引数です。サブルーチン引数リストのオプション引数のデフォルトの関連付けを無効にするにはどうすればよいですか?
多くの他のサブルーチンは、今
call A(a,b,c)
または
call A(a,b,c,d=2.0D0)
または
call A(a,b,c,e=1.0D0)
としてサブルーチンA
を呼び出します。
サブルーチンA
からc
を削除することにしました。
私はコードを再コンパイルするときだから、
subroutine A(a,b,d,e)
となり、このよう
call A(a,b,c,e=1.0D0)
としてラインは私が欲しいもの ないコンパイラで訴えていませんでした。今は、cは、私が 避けるように間違った解釈にすべての私のコードでサブルーチンAのすべての出現を検索することができ、新たなサブルーチンの オプションの引数d
A(a,b,d,e)
であると考えて、私は、私は をつもりでも1それらのを欠場します(間違った結果、苦しい瞬間、...)しかし、 コンパイラに聞かせてもらうための良いトリックと私はそれらを必ず修正する。
これは私の質問につながります。私が=
符号を入れていない限り、コンパイラに問い合わせることを避けるには 省略可能な変数のデフォルトの関連付け?つまり、 変数を使用する場合は、c=2.0D0
、e=3.0D0
というように渡します。 =記号なしの場合、デフォルトの非標準の 引数にする方法はありますか?
c
は ではないため、コンパイラは修正されたサブルーチンの既存の変数と一致していると確信しています。
ようこそ[ツアー]と[お問い合わせ]をお読みください。適切な書式設定により、投稿がはるかに良くなります。 tag [tag:fortran]を使用します。古いタグと古いFortran 90の回答を制限したい場合は、[tag:fortran90]を追加することができます(通常は不要です)。 –