- くだすれFORTRAN(超初心者用)その6
546 :デフォルトの名無しさん[sage]:2014/07/10(木) 18:28:18.82 ID:pJ0O1Ur0 - FORTRAN77のCOMMON文とEQUIVALENCE文について質問です.
!--- DIMENSION A(4) EQUIVALENCE (A, V1) COMMON /VS/ V1, V2, V3, V4 のようなコードをfortran90風に書き直したいのですがAをCOMMONブロックの変数で置換する以外にいい方法は無いでしょうか? できればSubroutine等を増やすのではなく,Moduleの変数宣言部分だけで解決したいのですが...
| - くだすれFORTRAN(超初心者用)その6
548 :デフォルトの名無しさん[sage]:2014/07/10(木) 22:05:54.56 ID:pJ0O1Ur0 - >>547
ありがとうございます 早速以下のように使ってみたんですが module VS real :: V1, V2, V3, V4 end module VS program use VS, A => V1 ... A(1) = 1.0d0 ... end program ↑コードのA(1)に代入する部分で error #6410: この名前は配列または関数として宣言されていません。 とgfortranのコンパイルエラーになります dimension A(4)などと変数宣言すると error #6401: この名前の属性が USE 文によってアクセス可能な属性と矛盾しています。 でコンパイルエラーになります あと use VS, A(1) => V1 のような書き方もだめでした nag-j.co.jpのコード例だとAは変数とは扱われていないように思うのですがAを配列として扱うことはできないでしょうか?
|
|