Fortran中的星号:参数列表中的语法错误(1)

时间:2011-10-20 11:30:43

标签: fortran asterisk subroutine fortran77

在以下fortran77代码中,有这个子例程定义

  SUBROUTINE MSIRNS ( D , NOBST , N , X , R , RR , SURFT ,
 ,                    INOBSI , ISUR , IDELTS , IRELPS ,
 ,                    RNOBSI , RSUR , RDELTS , RRELPS ,
 ,                    OBSD , * , * )

最后两个参数的含义是什么,星号?

我怎么能调用这个函数?

我尝试了所有这些变种

RES = CALL MSIRNS (D, NOBST, N, X, R, RR, SURFT, INOBSI, ISUR, IDELTS, IRELPS, RNOBSI, RSUR, RDELTS, RRELPS, OBSD, *, *)
    CALL MSIRNS (D, NOBST, N, X, R, RR, SURFT, INOBSI, ISUR, IDELTS, IRELPS, RNOBSI, RSUR, RDELTS, RRELPS, OBSD, *, *)
    RES = CALL MSIRNS (D, NOBST, N, X, R, RR, SURFT, INOBSI, ISUR, IDELTS, IRELPS, RNOBSI, RSUR, RDELTS, RRELPS, OBSD)

但总是得到

  

错误:参数列表中的语法错误(1)

1 个答案:

答案 0 :(得分:2)

它是备用返回说明符:

http://www.fortran.com/F77_std/rjcnf0001-sh-15.html#sh-15.8.3

在调用MSIRNS()的代码中,您需要用“* N”替换星号,其中N是备用返回行的标签。