cs_dan34
Messages postés28Date d'inscriptiondimanche 27 mars 2005StatutMembreDernière intervention13 mars 2012
-
29 déc. 2005 à 18:08
cs_dan34
Messages postés28Date d'inscriptiondimanche 27 mars 2005StatutMembreDernière intervention13 mars 2012
-
29 déc. 2005 à 19:46
Salut,
J'ai un soucis avec le bout de code suivant.
En fait j'ai créé un objet qui contient un tableau de char dont j'alloue dynamiquement la taille en fonction des besoins et lorsque je veux libérer la mémoire ben ça me met une erreur comme quoi le pointeur est invalide et si j'enlève le delete ça fonctionne.
Mais je pense que je dois avoir des allocations mémoires qui ne sont plus pointés et cela risque à terme de me prendre toute la mémoire.
La question c'est est ce que je pense bien ?
Et si vous voyez une erreur dans mon code merci de me l'indiquer
// On créé un nouveau tableau servant de tampon
char *pMantisse =
new
char [(m_MantisseSize+1+m_MantisseSize/3)];
// On copie les valeurs de l'ancien tableau vers le nouveau
for (
int i = 0; i < m_NbrElmt; i++)
pMantisse[i] = m_pMantisse[i];
// On supprime le tableau dont on n'a plus besoin
delete[] m_pMantisse; // Ici sa plante
// On recrée le pointeur et on affecte le bon tableau a l'objet
char *m_pMantisse = pMantisse;