Première chose, je crois que si tu nous donnai le résultat que te renvoie le compilo, cela pourrai nos aider.
Ensuite, je vaux bien croire qu'il est pas content car le seul constructeur que tu as prend 3 int en paramètres. Donc, lors de la création de ton tableau tu dois lui indiquer les valeurs à utiliser pour l'appel au constructeur de chaque cellule. Cela donne qqch du style (suis par sur que la syntaxe soit correcte)
this->next = new cellule[level+1](level, key, value);
Enfin, si tu fait ça, tu risque d'avoir une boucle infinie. Une solution serait d'ultiliser un malloc plutot que new, pour qu'il n'ya ait pas d'appel au constructeur. Une autre solution est de faire ceci:
1 2 3 4 5 6 7 8
|
cellule::cellule(int level, int key, int value) {
this->key = key;
this->value = value;
if (cellule)
this->next = new cellule[level+1](level-1, key, value); //rmq attention si cellule < 0!!!
else this->next = null;
} |
Cela dit, je doute que se soit ce que tu veux. (en fait, quelles sont les cellules qui doivent se trouver dans ton tableau????) A toi d'adapter ce code en fonction de ce que tu veux faire.
Partager