だから奇妙です。 FORTRANは変数をパラメータとして送信した後に再初期化する必要がありますか?私は別のサブルーチンに同じ引数を送るときはいつも、セグメンテーション違反を得ていました。私は引数の値が最初の呼び出しと2番目の呼び出しの間で消去されていることを発見しました。これらの引数の範囲は、メインプログラム(私は共通ブロックを使用していない)に限られています。FORTRANは関数呼び出しの間に値をワイプしますか?
私は自分の電話から書いているのですが、今はコードを投稿できませんが、アイデアはありますか?一時的な回避策は、2番目の関数を呼び出す前に値を再割り当てすることです。
ありがとうございました。
コードはありません。 –
私はStefanoに同意します。コードを見なければ何がうまくいかないのかどうかは分かりません。あなたは議論の目的を指定していますか? (あなたはすべきです)引数の範囲はメインプログラムに限られていますが、これらの変数をサブプログラムの引数として渡していると書いても、あなたは私を混乱させてしまいます。 -programスコープは拡張されていますが、別の名前を持つように見えるかもしれません。 –
合意。スコープが拡張されます。それをサブルーチンでの参照と見落とされた値の変更と組み合わせると、segfaultのレシピがあります。 –