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 :

Liste Chainés error


Sujet :

C++

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 2
    Par défaut Liste Chainés error
    Salut à tous j'ai un soucis dans mon code ou il me marque:
    pile.cpp: In member function 'void Pile::empiler(int)':
    pile.cpp:23:20: error: cannot convert 'int*' to 'maillon*' in assignment
    pile.cpp: In member function 'int Pile::depiler()':
    pile.cpp:35:22: error: cannot convert 'int*' to 'maillon*' in assignment
    pile.cpp: In member function 'void Pile::Afficher()':
    pile.cpp:51:16: error: cannot convert 'int*' to 'maillon*' in assignment

    J'arrive pas à identifier le problème :/.
    Pile.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
    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    #include "pile.h"
    #include <cstdlib>
     
      Pile::Pile()
      {
    	debut = NULL;
      }
     
     
      Pile::~Pile()
      {
    	  delete debut;
      }
     
      void Pile::empiler(int v)
      {
     
        maillon * temp = debut;
        temp=new maillon;
        temp->info=v;
        temp->suiv=debut->suiv;
        while(temp->suiv!=NULL)
            temp=temp->suiv;
      }
     
      int Pile::depiler()
      {
          maillon * temp = debut;
        if (Vide())
        {
          cerr << "Pile vide !" << endl;
          exit(1);
        }
          while(temp != NULL)
              temp=temp->suiv;
        return temp->info;
      }
     
      bool Pile::Vide()
      {
          debut=NULL;
      }
     
      void Pile::Afficher()
      {
        maillon * temp = debut;
     
        cout << '[';
        while (temp->suiv != NULL)
        {  cout << temp->info << ' ' ;
        temp=temp->suiv;
        }
        cout << ']' << endl;
      }
     
    Pile.h:
     
    #include <iostream>
     
    using namespace std;
    struct maillon
    {
        int info;
        int * suiv;
        friend class Pile;
    };
     
    class Pile
    {
      maillon * debut;
     
      public:
     
      Pile();
      ~Pile();
      void empiler(int v);
      int depiler();
      bool Vide();
      void Afficher();
    };

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 472
    Par défaut
    Votre code n'est vraiment pas au point, même algorithmiquement.
    Je vous conseil de reprendre très sérieusement un papier et un crayon pour remettre tout ça sur de bons rails.
    C'est le type d'exercice que peut donner un prof. préhistorique, mais clairement pas le genre de truc qu'on écrit dans la vraie vie.
    http://www.cplusplus.com/reference/stack/stack/

    Pour votre erreur "pile.cpp:23:20: error: cannot convert 'int*' to 'maillon*' in assignment" :

    Quel est le type de temp ?
    Quel est le type du champ suiv de la classe maillon ?

    En répondant à ces questions, tu devrais avoir le même problème que le compilateur pour faire l'affectation à la ligne 23.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 2
    Par défaut
    Merci beaucoup j'ai dut me mettre un idée en tête qui était pas la bonne du coup j'étais persuader d'avoir fais un bon algorithme .
    Je vous tiens au courant

Discussions similaires

  1. Réponses: 12
    Dernier message: 08/02/2005, 23h42
  2. Bibliothèque de listes chainées
    Par gege2061 dans le forum C
    Réponses: 29
    Dernier message: 17/12/2004, 20h15
  3. copie de liste chainée
    Par tomsoyer dans le forum C++
    Réponses: 15
    Dernier message: 31/08/2004, 18h20
  4. Trie liste chaine
    Par Congru dans le forum C
    Réponses: 2
    Dernier message: 30/03/2004, 19h05
  5. tri de liste chainée
    Par RezzA dans le forum C
    Réponses: 7
    Dernier message: 26/01/2003, 20h25

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