2017-07-06 391 views
-4

私はFortranで非常に新しいです。私はこのFortranをコンパイルしようとしています、私は90と思いますか?コード。私は、インテルコンパイラでVisual Studioを使用しています。Fortranエラー5082

次のコードでは、エラー5082が発生しています。文字通り、何の手がかりもありません。お願いします。

integer function Dub(n) 
integer n 
Dub = 2*n 
return  
end 


program Subroutines 

implicit none 

! Variables 
integer n 
n = 5 


! Body of Subroutines 
write(*,*) n 
Dub(n) 


write(*,*) 'Press Enter to Exit' 
read(*,*) 
stop 
end program Subroutines 
+0

完全なエラーメッセージとは何ですか? – melpomene

+0

あなたは覚えていないと思いますが、それを貼り付けることになっています。 – melpomene

+0

また、どのコンパイラとどのバージョンを使用しているか教えてください。また、コンパイルコマンドラインも表示してください。診断メッセージ。 –

答えて

0

Fortranでは、関数またはサブルーチンの呼び出しは、文(または初期化式ですが、これは高度です)の一部でなければなりません。 name(argument[s])は、C、C++、Javaなどの他の言語とは異なり、それ自体がステートメントではありません。関数呼び出しは式内になければならず、サブルーチン呼び出しではcallキーワードを使用する必要があります。例については、https://en.wikibooks.org/wiki/Fortran/Fortran_procedures_and_functionsを参照してください。

プログラムの行をn = Dub(n)に変更すると正当なものになりますが、むしろ役に立たなくなります。この関数は値を返す以外は何もしませんし、メインプログラムは返された値には何の役にも立たない。一般的に、副作用で関数を実行したり、戻り値を使用したりするために、関数を呼び出します。

+0

おそらく望んでいた: 'write(*、*)dub(n)' –