Nic*_*nar 1 c++ fortran types fortran77
我正在使用传统的Fortran 77代码子例程,其中参数类型未在代码块的顶部声明.
这是一个显示子程序顶部的片段.
SUBROUTINE BPASS(F1,F2,F3,F4,SI,N,A,IERR)
REAL * 4 A( N ),FV( 4 )
Run Code Online (Sandbox Code Playgroud)
根据以上所述,我认为A
是长度的数组N
类型REAL *4
,大小等于一个C float
.或者,FV(4)
是一个长度4
与类型的数组REAL *4
.
但是,F1,F2,F3,F4,SI,N,IERR
如果未列出类型,有哪些类型?它似乎N
应该是一个integer
.
我需要知道类型,以便我可以从C++代码调用子例程.对于未声明的类型,是否存在Fortran约定?
默认情况下,Fortran会将类型分配给integer
名称以字母开头的变量,I,J,K,L,M,N
并键入real
所有其他未声明的变量.
我同意你的定义的解析A
和FV
.
现代Fortran提供了implicit none
用于确保不应用默认规则的表达式,但在使用旧代码时,有时无法避免熟悉旧的黑暗方式.