Bonjour,
J'ai vraiment chercher des heures sans comprendre pourquoi j'ai ce problème:
J'ai un code ci-dessous où j'alloue dynamiquement un tableau de 100*1024 entiers, ensuite j'ai un deuxième pointeurs ptr2 qui pointe à l'adresse du tableau précédement alloué avec ptr.
Ensuite j'alloue une nouvelle zone mémoire avec ptr (donc ptr2 pointe bien l'ancienne zone). Mais lorsque j'appelle delete[] ptr2, rien n'est désallouer ?
Quelqu'un saurait-il m'expliquer pourquoi.
Merci
Algernon
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 int* ptr = new int[100 * 1024]; // initialisation du tableau ptr int*ptr2 = ptr; ptr = new int[50 * 1024]; delete [] ptr2; // Ici est le problème, pourquoi mon tableau n'est pas désallouer??
Partager