utilisation de delete - Arbre Binaire
Bonjour,
je possède deux modèle de classe Arbre et un classe ArbreNoeud.
voici la méthode ajouter de la classe Arbre:
Code:
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
| template <typename T>
void Arbre<T>::ajouter(T valeur)
{
ArbreNoeud<T> *tmp = new ArbreNoeud<T>(valeur);
bool aff = 0;
if (Origine == NULL) {
this->Origine = tmp;
aff = 1;
} else {
if (this->Origine->valeur() > tmp->valeur()) {
this->Origine->SetGauche(tmp);
aff = 1;
} else {
if (this->Origine->valeur() < tmp->valeur()) {
this->Origine->SetDroite(tmp);
aff = 1;
}
}
}
if (!aff) {
delete tmp;
}
} |
Comme j'alloue de la mémoire avec new, je veux supprimer mon objet si celui-ci existe déjà dans un noeud en utilisant delete.
Malheureusement, j'ai une erreur à la compilation (erreur qui ne se situe m'oriente même pas vers la ligne delete tmp, mais dès que je supprime cette ligne la compilation fonctionne (j'ai testé sous XCODE et sous MonoDevelop)
Une notion doit m'échapper mais j'aurai besoin d'un petit coup de pouce.
Merci