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用于确保不应用默认规则的表达式,但在使用旧代码时,有时无法避免熟悉旧的黑暗方式.