title: Determining type of variables not declared at top of Fortran subroutine
body: <p>I am working with a legacy Fortran 77 code subroutine where the parameter types are not declared at the top of the code block. </p>
  
  <p>Here is a snippet showing the very top of the subroutine.</p>
  
  <pre><code>   SUBROUTINE BPASS(F1,F2,F3,F4,SI,N,A,IERR)
     REAL * 4 A( N ),FV( 4 )
  </code></pre>
  
  <p>From the above, I think that <code>A</code> is an array of length <code>N</code> with type <code>REAL *4</code>, equivalent in size to a C <code>float</code>.  Alternately, <code>FV(4)</code> is an array of length <code>4</code> with type <code>REAL *4</code>.</p>
  
  <p>However, what are the types of <code>F1,F2,F3,F4,SI,N,IERR</code>, if the types are not listed?  It appears that <code>N</code> should be an <code>integer</code>.</p>
  
  <p>I need to know the types so that I can call the subroutine from C++ code.  Is there a Fortran convention for the types that are not declared?</p>