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 :

erreur: unknown type name


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 12
    Par défaut erreur: unknown type name
    Bonjour à tous,

    Je tiens à préciser qu j'ai d'abord vérifié si mon sujet a été traité dans les forums mais aucun ne répondais à mon problème.
    J'ai une erreur que je n'arrive pas à resoudre dans mon programme C.J'ai créé une structures pour mes graphes: "Sommet". Jusque là tout marchait bien dans mes codes jusqu'au moment où j'ajoute une structure ensemble comme attribut dans mon sommet.
    Voici ma structure ensemble.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
    17
    18
    19
    20
    21
     
    #ifndef ENSEMBLE_H_INCLUDED
    #define ENSEMBLE_H_INCLUDED
    #include <string.h>
    #include <stdio.h>
    #include "sommet.h"
     
        //ensemble étant une liste chainée
    	typedef struct{
            Sommet* tete ;
            Sommet* queue;
    	}Ensemble;
     
        Ensemble* creerEnsemble(Sommet*);
     
        Sommet* trouverEnsemble(Sommet*);
     
        void Union(Sommet*, Sommet*);
     
     
    #endif // ENSEMBLE_H_INCLUDED
    et mon 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
    16
    17
    18
    19
    20
    21
    22
    23
     
    #ifndef SOMMET_H_INCLUDED
    #define SOMMET_H_INCLUDED
    #include "ensemble.h"
     
        typedef struct monSommet{
            int valeur;
            char* couleur;
            int distance;
            struct monSommet* pere;
            int debut;
            int fin;
            struct monSommet* successeur;
            struct monSommet* predecesseur;
            Ensemble* ensemble;
        }Sommet;
     
     
        Sommet* creerSommet(int );
     
        void detruireSommet(Sommet*);
     
    #endif // SOMMET_H_INCLUDED

    Lors de exécution de mon ensemble, j'ai une erreur de code que je n'arrive pas à résoudre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ensemble.h:9:9: erreur: unknown type name ‘Sommet’
    ensemble.h:10:9: erreur: unknown type name ‘Sommet’
    ensemble.h:13:29: erreur: unknown type name ‘Sommet’
    ensemble.h:15:5: erreur: unknown type name ‘Sommet’
    ensemble.h:15:29: erreur: unknown type name ‘Sommet’
    ensemble.h:17:16: erreur: unknown type name ‘Sommet’
    ensemble.h:17:25: erreur: unknown type name ‘Sommet'

    Est ce que quelqu'un pourrait m'aider?

    Merci d'avance

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Tu as une dépendance circulaire.
    Pour ne pas que ça se morde la queue, tu dois utiliser des déclarations anticipées:
    Code C : 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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    /*Ensemble.h*/
    #ifndef ENSEMBLE_H_INCLUDED
    #define ENSEMBLE_H_INCLUDED
    #include <string.h>
    #include <stdio.h>
     
    struct monSommet;
    #ifndef TYPEDEF_SOMMET_DEFINED
    #define TYPEDEF_SOMMET_DEFINED
    typedef struct monSommet Sommet;
    #endif
     
    //ensemble étant une liste chainée
    struct monEnsemble {
    	Sommet* tete ;
    	Sommet* queue;
    };
     
    #ifndef TYPEDEF_ENSEMBLE_DEFINED
    #define TYPEDEF_ENSEMBLE_DEFINED
    typedef struct monEnsemble Ensemble;
    #endif
     
    Ensemble* creerEnsemble(Sommet*);
     
    Sommet* trouverEnsemble(Sommet*);
     
    void Union(Sommet*, Sommet*);
     
    #endif // ENSEMBLE_H_INCLUDED
    Code C : 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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    /*Sommet.h*/
    #ifndef SOMMET_H_INCLUDED
    #define SOMMET_H_INCLUDED
     
    struct monEnsemble;
    #ifndef TYPEDEF_ENSEMBLE_DEFINED
    #define TYPEDEF_ENSEMBLE_DEFINED
    typedef struct monEnsemble Ensemble;
    #endif
     
    struct monSommet {
    	int valeur;
    	char* couleur;
    	int distance;
    	struct monSommet* pere;
    	int debut;
    	int fin;
    	struct monSommet* successeur;
    	struct monSommet* predecesseur;
    	Ensemble* ensemble;
    };
     
    #ifndef TYPEDEF_SOMMET_DEFINED
    #define TYPEDEF_SOMMET_DEFINED
    typedef struct monSommet Sommet;
    #endif
     
    Sommet* creerSommet(int );
     
    void detruireSommet(Sommet*);
     
    #endif // SOMMET_H_INCLUDED
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 12
    Par défaut Merci
    Je te remercie. Ca marche maintenant.

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

Discussions similaires

  1. erreur: unknown type name ‘GtkCssProvider’
    Par troumad dans le forum GTK+ avec C & C++
    Réponses: 1
    Dernier message: 12/11/2013, 16h05
  2. unknown type name
    Par dergeekpanda dans le forum C
    Réponses: 7
    Dernier message: 31/08/2012, 14h25
  3. [Objective-C] unknown type name 'QTVisualContextRef'
    Par Miscellaneous dans le forum Objective-C
    Réponses: 0
    Dernier message: 26/03/2011, 14h53
  4. erreur de type require package name.
    Par alius dans le forum Langage
    Réponses: 4
    Dernier message: 04/11/2009, 10h19
  5. Réponses: 3
    Dernier message: 27/07/2009, 16h28

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