Question

Dans le code suivant fortran77, il y a cette définition de sous-programme

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

quel est le sens des deux derniers arguments, astérisques?

et comment puis-je appeler donc la fonction?

J'ai essayé toutes ces variantes

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)

mais toujours obtenir

Erreur: Erreur de syntaxe dans la liste d'arguments de (1)

Était-ce utile?

La solution

Il est un spécificateur alternatif de retour:

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

Dans le code qui appelle MSIRNS (), vous devez remplacer les astérisques par « * N », où N est l'étiquette de la ligne de retour alternatif.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top