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

Langage C++ Discussion :

Problèmes avec extern


Sujet :

Langage C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par défaut Problèmes avec extern
    Hello,

    Voici ce que j'ai :

    A.hpp :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    namespace namespace1
    {
      namespace namespace2
      {
        extern const int* maVariable;
        void maFonction2();
      }
    }
    A.cpp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    namespace namespace1
    {
      namespace namespace2
      {
        const int* maVariable = nullptr;
      }
    }
    B.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    namespace namespace1
    {
      namespace namespace3
      {
        void maFonction1()
        {
            ::namespace1::namespace2::maVariable = un_pointeur;
            ...
            ::namespace1::namespace2::maFonction2();
        }
      }
    }
    maFonction utilise namespace2::maVariable, mais à l'intérieur de cette fonction, la valeur de cette variable externe est toujours nullptr.

    Si j'ajoute dans le bloc de code ci-dessus extern devant l'affectation, gcc me dit :

    invalid use of qualified-name ‘namespace2::maVariable’

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    533
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 533
    Par défaut
    Et B.cpp inclut A.hpp ?
    Tu initialise statiquement maVariable simultanément dans deux fichiers, nullptr d'un côté et un_pointeur de l'autre.
    OK tu as édité ton post, donc le problème vient d'ailleurs. Est-ce que tu manipules maVariable dans plusieurs threads différents ?

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par défaut
    Grâce à tes questions, je suis retourné voir mon code, et il semble que je me sois embrouillé dans les namespaces. J'avais en outre un test foireux sur la validité du pointeur.

    Cela dit, j'ai d'autres problèmes liés, à présent.

    Je laisse le thread ouvert pour l'instant, on ne sait jamais...

    PS : pas de multithreads

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/10/2007, 13h04
  2. Problème lien externe avec IE
    Par m@t dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 03/04/2006, 15h10
  3. Problème avec le é d'un XML externe
    Par Pingou dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 1
    Dernier message: 19/03/2006, 20h28
  4. [xsl:fo] problème avec external-graphic
    Par jehlg dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 11/10/2005, 11h57

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