Je me suis construit une classe Tableau, qui est un tableau dynamique qui s'aggrandit lorsqu'il est trop petit
ex:
Code :
- Tableau<int> tab; //dimension 0
- tab[0] = 1; //s'aggrandit, dimension 1
- tab[10] = 11; //s'aggrandit, dimension 11
|
l'objet Tableau est en fait un pointeur de tableau de pointeur
Chaque pointeur de mon tableau de pointeur pointe sur un tableau ("bucket" ), qui contient, par exemple pour les int, 257
Le problème que j'ai se situe lorsque j'ai la déclaration suivante:
Code :
- Tableau< Tableau<int> > tab;
|
l'initialisation fonctionne, je peux faire quelques opérations sur celui-ci, mais ca finit par planter avec un segmentation fault
dans ma surcharge de l'opérateur [], je fais donc mon aggrandissement du tableau de pointeur lorsque je n'ai pas suffisamment de bucket
pour ce faire, je me déclare un nouveau tableau de pointeur, je fais la copie des pointeurs de l'ancien tableau de pointeur vers le nouveau, et je delete l'ancien tableau de pointeur.
C'est justement à cette étape que ca plante