1

私は、パラメーター型がコードブロックの先頭で宣言されていないレガシーFortran77コードサブルーチンを使用しています。

これは、サブルーチンの最上部を示すスニペットです。

   SUBROUTINE BPASS(F1,F2,F3,F4,SI,N,A,IERR)
   REAL * 4 A( N ),FV( 4 )

上記から、これはタイプがCと同等のサイズAの長さの配列だと思います。または、はタイプが。の長さの配列です。NREAL *4floatFV(4)4REAL *4

ただし、F1,F2,F3,F4,SI,N,IERRタイプがリストされていない場合、のタイプは何ですか?であるN必要があるようintegerです。

C ++コードからサブルーチンを呼び出すことができるように、型を知る必要があります。宣言されていない型のFortran規則はありますか?

4

2 に答える 2

6

デフォルトでは、Fortranは名前が文字で始まる変数に型を割り当て、他integerのすべての宣言されていない変数に型を割り当てます。I,J,K,L,M,Nreal

Aとの定義の解析に同意しますFV

最新のFortranはimplicit none、デフォルトのルールが適用されないようにするための式を提供しますが、古いコードを操作する場合、古い暗い方法に精通していることを避けられない場合があります。

于 2012-11-22T15:52:47.287 に答える
4

ではFORTRAN77、デフォルトでは、I、J、K、L、M、またはNで始まる変数はINTEGER、それ以外の場合はREALです。FORTRAN90、およびの一部のバリアントはFORTRAN77、を使用してこれを無効にするメカニズムを提供しIMPLICIT NONEます。

于 2012-11-22T15:53:06.997 に答える