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 suppression de pointeur!


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    7
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 7
    Par d�faut probl�me de suppression de pointeur!
    bonjour!
    Voila mon probl�me.j'ai cr�er un vecteur pointant sur une class contenant des pointeurs pour pouvoir cr��r un nombre illimiter de tableau dynamique car je ne connais pas � l'avance combien j'en ai besoin.le probl�me est que mon programme plante � la fin. Je pense que cela vient du faite que je ne delete pas les pointeurs.

    d�finition de ma class dans le fichier.h

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    class BufferReceiver
    {
     public:
       char *prChar;  
       double *prDouble;          
       unsigned long *prU32;
     
    };
    dans le fichier .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
    std::vector<BufferReceiver> vBufferReceiver;
     
    //NbrModel,NbrElementDouble,NbrElementChar etant des variables calculer un peu avant. 
    vBufferReceiver.resize(NbrModel);
    vBufferReceiver[i].prDouble=new double[NbrElementDouble];
    vBufferReceiver[i].prChar=new char[NbrElementChar];
     
    //fonction API nécéssaire à mon prog. pas besoin de vous y attardé
    result = RFM2gRead( Handle, OFFSET1,vBufferReceiver[i].prChar ,rfmBytesChar);
     
    //suppréssion j'ai essayer
    delete[] prChar;//ne compile pas (erreur prChar non déclaré)
    delete[] prDouble;//  "        "                prDouble
     
     
    vBufferReceiver[i].delete []prChar; //bien sûr ne compile pas
    j'ai penser � une fonction dans ma class avec comme argument l'adresse du pointeur mais je n'y arrive pas.

    quelqu'un aurait'il une solution?merci.

  2. #2
    R�dacteur
    Avatar de Laurent Gomila
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par d�faut
    Quelle syntaxe tordue, il suffit de raisonner logiquement : tu veux d�sallouer le tableau point� par vBufferReceiver[i].prDouble, il faut donc �crire
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    delete [] vBufferReceiver[i].prDouble;
    A part �a :

    - Pourquoi utiliser un vecteur pour ton tableau d'instances, et ensuite des pointeurs bruts pour leurs tableaux ? Tu �tais bien parti

    - Avoir un constructeur et un destructeur peut aider. Mais si tu utilises des vecteurs tu n'en n'auras pas besoin (ou plut�t tout le sale boulot sera fait automatiquement)

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 2
    Dernier message: 21/05/2005, 08h14
  2. Probl�me de suppression de fichier
    Par sorry60 dans le forum Assembleur
    R�ponses: 7
    Dernier message: 23/04/2005, 18h33
  3. [JTable] probl�me apr�s suppression d'une ligne
    Par fredo3500 dans le forum Composants
    R�ponses: 7
    Dernier message: 17/03/2005, 10h01
  4. [Excel - VBA] Probl�me de suppression de lignes...
    Par beholder2 dans le forum Macros et VBA Excel
    R�ponses: 8
    Dernier message: 28/01/2005, 17h27
  5. R�ponses: 4
    Dernier message: 16/04/2004, 08h20

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