Bonjour,
je possède deux modèle de classe Arbre et un classe ArbreNoeud.
voici la méthode ajouter de la classe Arbre:
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.
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
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; } }
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
Partager