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 :

deux structures pointant l'une sur l'autre


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 29
    Points : 32
    Points
    32
    Par défaut deux structures pointant l'une sur l'autre
    Bonjour,

    Je souhaiterais créer deux structures qui pointeront chacune l'une sur l'autre. Seulement, voilà, il semblerai que l'une des deux ne soit pas reconnu dans la structure de l'autre. J'aimerai savoir comment y remédier ou quelle serait mon autre eventuelle erreur.

    Voici les codes:
    main.cpp
    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
     
    #include<cstdlib>
    #include<iostream>
    #include"graphe10.h"
    #include"sommet.h"
     
    using namespace std;
     
    main(){
           sommet s1;
           graphe10 g;
     
           system("PAUSE");
           return EXIT_SUCCESS;       
    }
    sommet.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 H__SOMMET__
    #define H__SOMMET__
     
    #include"graphe10.h"
     
    struct sommet{
           int val;
           graphe10 *parent;
           sommet *suivant;
           sommet *precedent;
     
           };
     
    #endif
    graphe10.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #ifndef H__GRAPHE10__
    #define H__GRAPHE10__
     
    #include"sommet.h"
     
    struct graphe10{
           sommet *first;
           int flag;
           };
     
    #endif
    Voici les messages d'erreurs:
    ligne fichier message
    4 In file included from C:\...\/graphe10.h:4, from C:\...\main.cpp

    4 C:\...\main.cpp from C:\...\main.cpp

    8 C:\...\sommet.h ISO C++ forbids declaration of `graphe10' with no type

    8 C:\...\sommet.h expected `;' before '*' token


    Au passage...
    Pour le premier message je ne comprend pas pourquoi il y a un "/" devant graphe10.h.

    Merci pour votre aide.
    Cordialement

    m.

  2. #2
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 533
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 533
    Points : 6 709
    Points
    6 709
    Par défaut
    Bonsoir,

    c'est problème classique de deux fichiers essayant (en vain) de s'inclure mutuellement

    supposons que le 1er fichier inclue soit graphe10.h comme dans le main : cela défini H__GRAPHE10__ puis inclue sommet.h qui défini H__SOMMET__ puis inclue graphe10.h mais cette dernière inclusion ne fait rien puisque H__GRAPHE10__ est déjà défini, le compilateur tombe donc sur la définition de sommet qui utilise graphe10 alors qu'il n'est pas encore connu

    donc, dans graphe10.h il faut remplacer l'inclusion de sommet.h par struct sommet;, et dans sommet.h il faut remplacer l'inclusion de graphe10.h par struct graphe10;
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

  3. #3
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 29
    Points : 32
    Points
    32
    Par défaut
    Merci pour ces réponses.

    m.

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

Discussions similaires

  1. Mettre deux figures l'une sur l'autre.
    Par mayssaMM dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 1
    Dernier message: 07/02/2014, 20h15
  2. Réponses: 2
    Dernier message: 11/03/2009, 10h36
  3. Listes déroulantes basés l'une sur l'autre
    Par micheletparis dans le forum VBA Access
    Réponses: 2
    Dernier message: 31/07/2008, 15h13
  4. Réponses: 8
    Dernier message: 24/10/2007, 00h01
  5. Afficher 2 images l'une sur l'autre
    Par EFFLYINGJOKER dans le forum Flash
    Réponses: 3
    Dernier message: 10/10/2007, 11h09

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