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

MFC Discussion :

probleme de vidange de CList


Sujet :

MFC

  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Points : 546
    Points
    546
    Par défaut probleme de vidange de CList
    Bonjour,

    j'essai d'utiliser les CList pour stoquer des elements contenant des données variée de type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    class CBillet
    {
    public:
    	CBillet(void);
    	~CBillet(void);
    	CString id, nom, prenom, tel;
    	int nbP;
    	POSITION posT;
    	void setLine(CString line);
    	CString getLine(void);
    };
    je déclare une clist avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CList <CBillet*, CBillet*> p_listeBillets;
    pour ajouter des elements dedans, je met :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	CBillet *billet;
    billet = new CBillet;
    p_listeBillets.AddTail(billet);
    et pour vider, j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    	CBillet *billet;
    	POSITION pos;
    	pos = p_listeBillets.GetHeadPosition();
    	billet = p_listeBillets.GetHead();
    	while (pos != NULL)
    	{
    		delete billet;
    		billet = p_listeBillets.GetNext(pos);
    	}
    	p_listeBillets.RemoveAll();
    le premier passe, mais pas le suivant, j'ai une erreur de mauvais pointeur.

    vous voyez ou se situe mon erreur ?

    merci de votre aide

  2. #2
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 381
    Points
    20 381
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    CBillet *billet;
    	POSITION pos;
    	pos = p_listeBillets.GetHeadPosition();
    while (pos != NULL)
    	{
    		billet = p_listeBillets.GetNext(pos);
    		delete billet;
    	}
    	p_listeBillets.RemoveAll();
    C'est pas mieux comme cela ?

  3. #3
    Membre confirmé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Points : 546
    Points
    546
    Par défaut
    si ...

    merci beaucoup

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

Discussions similaires

  1. [VC++6] probleme fuite memoire CLIST ?
    Par athilla dans le forum MFC
    Réponses: 16
    Dernier message: 22/11/2005, 16h01
  2. Probleme de rafraichissement d'un BDGrid
    Par marmotte dans le forum Bases de données
    Réponses: 10
    Dernier message: 28/05/2004, 18h07
  3. Probleme sur les chaines de caractere
    Par scorpiwolf dans le forum C
    Réponses: 8
    Dernier message: 06/05/2002, 19h01
  4. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    Réponses: 19
    Dernier message: 03/05/2002, 14h50
  5. [Kylix] Probleme de nombre flottant!!
    Par yopziggy dans le forum EDI
    Réponses: 5
    Dernier message: 02/05/2002, 10h13

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