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 pointeurs (chaine de)


Sujet :

C++

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Problème pointeurs (chaine de)
    Bonjour à tous

    Je vous écris car je suis en train de buter sur un morceau de code tout con, mais que je n'arrive pas à trouver la solution

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    struct Element
    {
        int val;
        Element* suiv;
    };
    
    void affiche (Element* liste)
    {
        cout << liste->val;
    
        if (liste->suiv != NULL)
        {
            affiche (liste->suiv);
        }
    }
    
    
    int main()
    {
        struct Element
        {
            int val;
            Element* suiv;
        };
    
        Element* liste;
        Element* fin;
    
        Element nouvel_element;
    
        nouvel_element.suiv = NULL;
        nouvel_element.val = 0;
    
        liste = &nouvel_element;
        fin = &nouvel_element;
        for (int j=1; j<=6; j++)
        {
            Element new_element;
    
            new_element.suiv = NULL;
            new_element.val = j;
            fin->suiv = &new_element;
    
            fin = &new_element;
    
            cout << j << endl;
        }
    
        affiche(liste);
    }
    A la compilation, j'ai ce message d'erreur : (pour la ligne 49)
    erreur: cannot convert 'main()::Element*' to 'Element*' for argument '1' to 'void affiche(Element*)'
    Pourriez-vous m'aider s'il vous plais?

  2. #2
    screetch
    Invité(e)
    Par défaut
    a la ligne 20, pourquoi réecris tu la structure Element?
    du coup il pense que c'est une structure différente, et donc tes fonctions ne peuvent pas marcher sur cette nouvelle structure.

  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
    Par défaut
    Salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        for (int j=1; j<=6; j++)
        {
            Element new_element;
     
            new_element.suiv = NULL;
            new_element.val = j;
            fin->suiv = &new_element;
     
            fin = &new_element;
     
            cout << j << endl;
        }
    Ca, ca ne va pas du tout marcher. De ce que je comprends tu essais de construire une lilste avec 6 éléments. Mais, en C++, les variables locales sont automatiquement détruites lorsque l'exécution sort de leur portée. Donc, ici, tu es en train de magnifiquement écrire des choses erronées.

    Mon conseil : reprends les bases : Comment débuter en C++ ? par Alp Mestan

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Qu'est-ce que tu me conseillerais de faire?

    Pour ce qui est de débuter en C++, j'avoue que c'est une des premières fois que j'en fais

  5. #5
    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
    Par défaut
    Citation Envoyé par Saluzatous Voir le message
    Qu'est-ce que tu me conseillerais de faire?
    Attaquer par un bon livre, par exemple Programmation, Principes et pratique avec C++ Bjarne Stroustrup, afin d'acquérir correctement les bases.

Discussions similaires

  1. Problème Liste chainée
    Par skyangel dans le forum C++
    Réponses: 16
    Dernier message: 07/06/2006, 13h14
  2. [FLASH 8] Problème de chaine de caractère
    Par dom_dev dans le forum Flash
    Réponses: 7
    Dernier message: 02/03/2006, 17h42
  3. [Oracle 8i et ADO] Problème de chaine de connexion
    Par hrezzaz dans le forum Bases de données
    Réponses: 1
    Dernier message: 20/10/2005, 17h52
  4. Problème de chaine sur une page HTML
    Par Kerod dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 23/11/2004, 16h23
  5. [MFC] Problème pointeur sur une classe
    Par mick74 dans le forum MFC
    Réponses: 7
    Dernier message: 14/04/2004, 14h17

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