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 :

Problème avec #include


Sujet :

C++

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 396
    Par défaut Problème avec #include
    Bonjour,

    J'ai un problème quand un fichier X fait un include de Y et quand Y fait un include de X.

    Voici un exemple pour mieux illustrer le problème :
    test.cpp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include "test.h"
     
    int main()
    {
    	test maClasse;
    	return 0;
    }
    test.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    #ifndef aa
    #define aa
     
    #include "test2.h"
     
    class test
    {
    	public:
    		test(void)
    		{
    			test2 var;
    			var.fct();
    		}
    };
     
    #endif
    test2.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    #ifndef bb
    #define bb
     
    #include "test.h"
     
    class test2
    {
    	public:
    		friend class test;
     
    	private:
    		void fct(void);
    };
     
    #endif
    test2.cpp
    A la compilation :
    $ g++ -c test.cpp
    $ g++ -c test2.cpp
    test.h: In constructor 'test::test()':
    test.h:11: error: 'test2' was not declared in this scope
    test.h:11: error: expected `;' before 'var'
    test.h:12: error: 'var' was not declared in this scope

    Comment faire pour ne plus avoir ce genre d'erreur ?

    Merci...

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 396
    Par défaut
    Merci

  4. #4
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    test2 n'a pas besoin de la définition de test.

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

Discussions similaires

  1. Problème avec include (encore ?!)
    Par Neii Mad dans le forum Langage
    Réponses: 13
    Dernier message: 07/07/2006, 18h11
  2. [Wamp] problème avec include
    Par etrevilly dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 06/07/2006, 15h26
  3. problème avec include
    Par Sebastien_INR59 dans le forum Langage
    Réponses: 8
    Dernier message: 21/03/2006, 16h05
  4. probléme avec include() via HTTP
    Par schlitters dans le forum Langage
    Réponses: 11
    Dernier message: 07/02/2006, 17h19
  5. problèmes avec "include file" pour une page asp
    Par chipsense dans le forum ASP
    Réponses: 1
    Dernier message: 02/09/2005, 15h22

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