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 de 'token'


Sujet :

C++

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 18
    Points : 11
    Points
    11
    Par défaut Problème de 'token'
    Bonjour,

    je suis en train de débugger un programme (un devoir à rendre), mais pas moyen de voir quelle est l'erreur.
    Le but de la fonction Emprunt est d'ajouter un pointeur vers une instance de la classe emprunt dans la liste_emprunt du lecteur.

    D'où ma question :
    - comment résoudre cette erreur ?

    Merci d'avance pour votre aide.


    Je travaille sous Linux, et la console me rend :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    lecteur.cc: In member function ‘void lecteur::Emprunt(emprunt)’:
    lecteur.cc:29: erreur: expected primary-expression before ‘)’ token
    make: *** [lecteur.o] Erreur 1
    Le fichier lecteur.cc :
    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
    #include<string>
    #include"lecteur.h"
    #include <vector>
    #include <list>
    using namespace std;
    lecteur::lecteur(string n, string p,  int i, string a)
    {
    	nom=n;
    	prenom=p;
    	numero=i;
    	adresse=a;
    }
     
    lecteur::~lecteur() {}
    string lecteur::get_nom()
    {return nom;}
     
    string lecteur::get_prenom()
    {return prenom;}
     
    int lecteur::get_numero()
    {return numero;}
     
    string lecteur::get_adresse()
    {return adresse;}
     
    void lecteur::Emprunt(emprunt E)
    {
    	liste_emprunt.push_back(E*);
    }
    et le fichier lecteur.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
    24
    #ifndef LECTEUR_H
    #define LECTEUR_H
    #include <vector>
    #include <list>
    #include <string>
    #include "emprunt.h"
    using namespace std;
    class lecteur
    {
    	string nom;
    	string prenom;
    	int numero;
    	string adresse;
    	list <emprunt*> liste_emprunt;
    public :
    	lecteur(string, string, int, string);
    	~lecteur();
    	string get_nom();
    	string get_prenom();
    	string get_adresse();
    	int get_numero();
    	void Emprunt(emprunt);
    };
    #endif

  2. #2
    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
    Tu dois allouer un nouvel élément pour le mettre dans ta liste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void lecteur::Emprunt(emprunt E)
    {
    	liste_emprunt.push_back(new emprunt(E));
    }
    Mais, j'aurais 2 rapides remarques :
    -> Pourquoi ne pas utiliser une liste par valeur ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    list <emprunt> liste_emprunt;
    Ce qui te permettait de faire simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void lecteur::Emprunt(emprunt E)
    {
    	liste_emprunt.push_back(E);
    }
    Est-ce parce que E sert de classe de base à un héritage ?

    -> Si tu as besoin d'un pointeur, je te conseillerais vivement d'utiliser un pointeur intelligent : Présentation des pointeurs intelligents en C++ par Loïc Joly

Discussions similaires

  1. Problème de Token
    Par DotNET74 dans le forum Windows Phone
    Réponses: 4
    Dernier message: 13/06/2011, 11h27
  2. Réponses: 3
    Dernier message: 08/03/2011, 23h04
  3. Réponses: 1
    Dernier message: 21/03/2009, 16h04
  4. Problème de Token
    Par maserati dans le forum C++
    Réponses: 1
    Dernier message: 24/11/2008, 09h07
  5. Problème de compilation (parse error before '*' token)
    Par moon93 dans le forum Autres éditeurs
    Réponses: 8
    Dernier message: 11/06/2006, 22h39

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