4

私はFortranコードにモジュールを追加していますが、次の問題が発生しました。Info4Dポインター配列(ハイドロコードであるため、3つの空間コンポーネントと1つの変数コンポーネント)など、他のいくつかの変数を含む派生データ型があります。サブルーチンを読みやすくするために、次のようにポインタを作成してqをポイントしInfo%qます。

    real,pointer::q(:,:,:,:)
    q=>Info%q
    ...
    some work on q

私が遭遇している質問は、deallocate(q)前に使用する必要があるnullify(q)かどうかです。または、qコードの他の場所で必要な配列を指しているので、使用する必要がありますnullifyか?

ご協力いただきありがとうございます。

4

1 に答える 1

6

無効にするだけです!そうしないと、元のポインターが未定義になり、配列が存在しなくなります。

于 2013-01-12T16:55:56.743 に答える