Pointeur et type non défini [Résolu]

Signaler
Messages postés
561
Date d'inscription
samedi 10 janvier 2004
Statut
Membre
Dernière intervention
11 octobre 2010
-
Messages postés
3819
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
28 septembre 2020
-
Hello,
Voici mon code :
struct sommet
{
    std::vector m_arr_som;       //arretes du sommet (pointeur)
    int m_value;                      //Valeur du sommet

    void init () { m_value = 0;}
};

struct arrete
{
    sommet const* m_som_x;                //Sommet 1 (pointeur)
    sommet const* m_som_y;                //Sommet 2 (pointeur)
    int m_value;                     //Valeur attribuée
    int m_sens;                      //-1, 1 ou 0 pour les deux

    void init(sommet const* p_som_1, sommet const* p_som_2, int p_value, int p_sens)
    {
       m_som_x p_som_1; m_som_y p_som_2; m_value = p_value; m_sens = p_sens;
    }
};


Et bien sur arrete n'est pas défini. J'aimerai pouvoir faire en sorte que mes deux struct pointent l'une sur l'autre. Comment puis je y remédier?

Je vous remercie.

Zives

1 réponse

Messages postés
3819
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
28 septembre 2020
113
Fait ce que l'on appelle une "forward declaration" :)
struct arrete; // predeclaration de "arrete".

struct sommet
{
    std::vector m_arr_som;       //arretes du sommet (pointeur)
    int m_value;                      //Valeur du sommet

    void init () { m_value = 0;}
};

struct arrete
{
    sommet const* m_som_x;                //Sommet 1 (pointeur)
    sommet const* m_som_y;                //Sommet 2 (pointeur)
    int m_value;                     //Valeur attribuée
    int m_sens;                      //-1, 1 ou 0 pour les deux

    void init(sommet const* p_som_1, sommet const* p_som_2, int p_value, int p_sens)
    {
       m_som_x p_som_1; m_som_y p_som_2; m_value = p_value; m_sens = p_sens;
    }
};

________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question