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

C++ Discussion :

Portée des variables


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2011
    Messages : 26
    Par défaut Portée des variables
    Bonjour à tous !

    J'essaye au maximum d'avoir un code modulaire, et j'ai donc mes headers et mes sources.
    Mais je ne sais pas s'il est possible qu'une variable déclarée dans un fichier quelconque puisse être accessible dans les autres fichiers.
    Par exemple j'ai essayé dans un fichier .cpp de déclarer en dehors de tout bloc un tableau, mais je ne peux pas l'utiliser dans mon main.cpp.
    Est ce que je dois faire appel à une fonction pour récupérer chaque variable déclarée dans un autre fichier ? Ou existe t-il une portée "super-globale", utilisable dans tous les fichiers ?

    Merci d'avance,

    Actuenligne

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Le fichier main.cpp doit profiter de la déclaration du tableau préfixé du mot clef "extern".

    Cela permettra la compilation de main.cpp.

    Le linker se chargera in fine de vérifier que tous les paramètres "extern" dont dépendant les unités de compilation sont bien présents quelque-part.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2011
    Messages : 26
    Par défaut
    Merci pour ta réponse !
    Cependant j'ai toujours une erreur "X was not declared in this scope"...

    J'ai pourtant initialisé un tableau dans le fichier Class.cpp avec le préfixe extern :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int extern tableau[20];
    Et quand j'essaye de l'utiliser dans main.cpp :


    ...j'ai l'erreur citée ci-dessus.


    EDIT :

    J'ai déclaré le tableau dans le fichier Class.h et j'ai l'impression que ça marche déjà mieux... maintenant je n'ai plus d'erreur de variable non déclarée, mais quand je compile mon IDE (Code::Blocks 10.05) me dit :

    "It seems that this project has not been built yet.
    Do you want to build it now?"

    J'ai beau cliquer sur "Ok", il ne se lance pas et m'affiche à chaque fois ce même message... Que dois-je faire ?

  4. #4
    Membre expérimenté

    Inscrit en
    Mai 2005
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 132
    Par défaut
    Salut,

    il faut le faire :

    extern definition;

    donc s'il est definition "int tableau[20];"

    il est proprement ecrire

    extern int tableau[20];


    Bonne chance et bon weekend.

    Fredy Kruger

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2011
    Messages : 26
    Par défaut
    Merci Fredy !
    Maintenant ça marche : c'était juste un problème de syntaxe.

    Bonne journée à tous,

    actuenligne

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 17/02/2005, 09h05
  2. [FLASH MX] Portée des variables ???
    Par mic79 dans le forum Flash
    Réponses: 2
    Dernier message: 08/02/2005, 10h21
  3. Portée des variables vbscript vers ASP
    Par Immobilis dans le forum ASP
    Réponses: 3
    Dernier message: 03/11/2004, 10h14
  4. [XSL]Problème de portée des variables
    Par djulesp dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 17/09/2004, 10h34
  5. [Portée] portée des variables
    Par parksto dans le forum Langage
    Réponses: 7
    Dernier message: 09/05/2004, 21h05

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