Problème abnormal termination
Bonjour à tous,
me voilà confronté à un problème très étrange.
Je crée une fonction Heat() qui est appelée par l'instance d'une classe CTarget dans une boucle while.
Le code est le suivant :
Code:
1 2 3 4 5 6
|
CTarget Target;
while(#condition)
{
Target.Heat();
} |
Une partie de la fonction heat() dans la classe CTarget est la suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
int CTarget::Heat()
{
[...]
const int nNbCells = 3;
double** pMat;
pMat = new double*[nNbCells];
if (pMat == NULL)
exit(1);
for(int j=0;j<nNbCells;j++)
{
pMat[j] = new double[nNbCells];
if (pMat[j]==NULL)
exit(1);
}
[...] // On passe à la fin de la fonction
if (pMat != NULL)
delete [] pMat;
return 1;
} |
Le code est compilé, exécuté au moins une cinquantaine de fois (le programme passe donc dans la boucle while une cinquante de fois), puis à un moment donné, il plante et me lance "Abnormal Program Termination".
Je n'ai pas décrit la fonction Heat() en détail, dans la mesure où le programme s'arrête à cet endroit précis.
Et je ne comprends pas cette erreur. Quelqu'un a-t-il déjà rencontré le même problème ?
Je vous remercie par avance pour vos réponses.
++