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 :

[Syntaxe] Syntaxe d'un delete?


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    lkjlgj
    Inscrit en
    Février 2007
    Messages
    255
    Détails du profil
    Informations personnelles :
    Localisation : Angola

    Informations professionnelles :
    Activité : lkjlgj

    Informations forums :
    Inscription : Février 2007
    Messages : 255
    Par défaut [Syntaxe] Syntaxe d'un delete?
    Bonjour !

    J'ai un souci pour libérer un tableau

    Je sais que dans un cas simple NEW et DELETE fonctionnent comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Tableau=new long[20];
    delete []Tableau;
    Mais, si j'ai une structure X avec un pointeur **Toto pointant vers
    des pointeurs de struct X :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Toto [10]->Tableau=new long[20];
    Pour nettoyer tout ça je dois "deleter" dans l'ordre :

    delete Toto [1 à x]->Tableau; // Ici y'a un problème !!!
    delete Toto [1 à x];
    delete []Toto ;

    Normalement on "delete" un tableau avec un "[]".
    Or, je n'arrive pas à caser mon "[]" dans "delete PolyCoocOrig[i]->[x]Noeuds".
    Et, la ligne actuelle ne fait pas le travail complètement.

    Je ne sais pas si je suis clair. En tout cas y'a un leak souligné par CodeGuard.

    Merci

  2. #2
    Membre expérimenté Avatar de Bob.Killer
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    336
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 336
    Par défaut
    tu as oublié un [] pour le delete du "Tableau", de plus il ne faut pas oublier de bien initialisé les "Tableau", soit NULL, soit avec un new, car sinon ton pointeur pointe n'importe ou dans la mémoire et là cela va planter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for(int i=0;i<x;i++)
    {
        delete [] Toto [i]->Tableau; // si Tableau est dynamique
        delete Toto[i]; // si Toto[i] est dynmique
    }
    delete [] Toto; // si Toto est dynmique
    en espérant que cela corrige le problème

  3. #3
    Invité
    Invité(e)
    Par défaut
    colle tes crochets a ton delete comme ca : delete[] tonTab.

    par ailleurs, je te conseille vivement de te tourner vers les conteneurs de la STL...

  4. #4
    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
    Tout ça se trouve dans la FAQ.

  5. #5
    Membre éclairé
    Profil pro
    lkjlgj
    Inscrit en
    Février 2007
    Messages
    255
    Détails du profil
    Informations personnelles :
    Localisation : Angola

    Informations professionnelles :
    Activité : lkjlgj

    Informations forums :
    Inscription : Février 2007
    Messages : 255
    Par défaut
    Merci ça marche top !

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

Discussions similaires

  1. problème de syntaxe dans la commande delete
    Par mawelle dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 27/05/2008, 17h25
  2. erreur de syntaxe DELETE multi-tables
    Par yayacameleon dans le forum Requêtes
    Réponses: 7
    Dernier message: 12/04/2006, 11h34
  3. [MySQL] Erreurs de syntaxe sur requêtes DELETE
    Par vincedjs dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 06/03/2006, 15h53
  4. Erreur de syntaxe: DELETE
    Par Pigoulou dans le forum Requêtes
    Réponses: 2
    Dernier message: 19/01/2006, 06h51
  5. Syntaxe DELETE
    Par GuyLafleur dans le forum Langage SQL
    Réponses: 3
    Dernier message: 20/10/2005, 09h59

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