2016-10-04 73 views
-1

私はFortran90でコードを書いています。1のエラーで分類できない文

subroutine QualModel(CCS, TI, AIdex,t_max) 
use Global 
implicit none 
DOUBLE PRECISION :: CCS, TI, AIdex 
DOUBLE PRECISION,DIMENSION(10) :: t_max 

CCS = 0.0 
TI = 0.0 
AIdex = 0.0 

CCS = & 
24.36597157615 + & 
(-6.56894015990892) * (ustrand * 60.0) 

私はこれをコンパイルしようとすると、私はUnclassifiable statement at 1.

のラインCCS = &でエラーが誰かがどのように私はこれを解決するのです教えてもらえます取得:私は、次のコードを持っていますか?私は他の質問をしましたが、それらのほとんどはパルテシス問題を示唆していますが、ここにそのような問題はありません。

+0

ファイルサフィックスは何ですか?フリーフォームまたは固定フォームのソースを使用していますか?多くの(多くの!)似たような質問があります。あなたはそれらを見ましたか?コンパイルのための正確なコマンドラインはどのように見えますか? –

答えて

1

コメントにVladimir Fが指摘しているように、ファイル接尾辞はFortranコードではコードをどのように解釈するかをコンパイラに伝えるために重要です。

あなたが投稿したコードには、いくつかの変数宣言(ustrand)がありません。endがないモジュール(Global)が使用されています。しかし、私はあなたの下に示すよう.f/.f90サフィックスを使用する場合にコンパイルが異なる

subroutine QualModel(CCS, TI, AIdex,t_max) 
implicit none 
DOUBLE PRECISION :: CCS, TI, AIdex,ustrand 
DOUBLE PRECISION,DIMENSION(10) :: t_max 

CCS = 0.0 
TI = 0.0 
AIdex = 0.0 

CCS = & 
24.36597157615 + & 
(-6.56894015990892) * (ustrand * 60.0) 
end 

に非常に類似している次のコードを使用する場合。ファイル内の.f接尾辞に固執する必要がある場合は、gfortranコンパイラでこの入力を受け入れるように指示するために、-ffree-formオプションを使用できます。

$ gfortran --version | head -n 2 
GNU Fortran (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4) 
Copyright (C) 2015 Free Software Foundation, Inc. 

$ gfortran -c test.f90 
$ gfortran -c test.f 
test.f:1.1: 
subroutine QualModel(CCS, TI, AIdex,t_max) 
1 
Error: Non-numeric character in statement label at (1) 
test.f:1.1: 

subroutine QualModel(CCS, TI, AIdex,t_max) 
1 
Error: Unclassifiable statement at (1) 
test.f:2.1: 
<... omitted remaining errors ...> 

$ gfortran -c -ffree-form test.f 
+1

問題は、エラーメッセージが異なることです。あなたはただの推測です。 〜それはあなた次第ですが、私は通常OPからいくつかの情報を取得しようとします。これにより問題の原因が明らかになります。 –

+0

最初の文字の最初の行の問題は、@ Haraldがそれを釘付けにしたことを示しているようです。 – Holmz

+0

エラーメッセージが<...省略された残りのエラー...>の直前に表示されます(ただし、別の行で、OPが指摘した行のエラーは数行下です)。しかし、 OPへのさらなる情報。 – Harald

関連する問題