IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Fortran Discussion :

Microsoft Visual Studio (ifort) - Subroutines imbriquées


Sujet :

Fortran

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juin 2012
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Microsoft Visual Studio (ifort) - Subroutines imbriquées
    Bonjour,

    Comme l'annonce le titre de cette discussion, j'utilise Microsoft Visual Studio et le compilateur intel fortran.

    Je réalise un programme qui analyse des données et sur certaines boucles j'ai voulu insérer une subroutine qui calcule la progression de la boucle.

    Sur une boucle du programme principal, cette subroutine ne pose pas de problème. En revanche, pour une boucle d'une subroutine qui est elle-même appelée par une subroutine du programme principal, j'ai ce message d'erreur du compilateur:
    "Error: The CALL statement is invoking a function subprogram as a subroutine."

    Je ne comprends pas d'où provient cette erreur et je n'ai pas trouvé de réponse sur google.

    Merci d'avance

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Août 2006
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 974
    Points : 1 346
    Points
    1 346
    Par défaut
    Tu fais "call ABC", mais ABC est une fonction (function ABC...).

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Juin 2012
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci pour la réponse rapide.

    J'ai transformé ma subroutine en function mais l'erreur de compilation reste la même.

    Je trouve l'erreur assez bizarre, il me semble que l'on peut appeler autant de subroutine que l'on veut avec autant de niveau de profondeur que l'on veut, non?

    Je me demande si ce n'est pas plutôt la compilation commandée par visual studio qui est problématique. Je n'ai pas d'autre moyen de compilation pour le moment.

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Août 2006
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 974
    Points : 1 346
    Points
    1 346
    Par défaut
    Vérifie si le nom de la routine que tu veux appeler n'existerait pas localement dans la routine appelante (tableau, fonction « contained », fonction « inline » (je ne me souviens plus du nom) entre les déclarations et le cade ayant la forme ABC(arg) = expression,...)

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/12/2006, 11h01
  2. programmer en c sous microsoft visual studio 2005
    Par chrysmac2003 dans le forum Visual C++
    Réponses: 11
    Dernier message: 02/10/2006, 18h01
  3. Presentation de Microsoft Visual Studio.Net
    Par saredo dans le forum MFC
    Réponses: 4
    Dernier message: 26/06/2006, 09h03
  4. Microsoft Visual Studio C++
    Par benjiprog dans le forum MFC
    Réponses: 3
    Dernier message: 15/02/2006, 11h35
  5. Microsoft Visual Studio 6.0 ????
    Par zalett dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 08/12/2005, 17h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo