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 :
Une partie de la fonction heat() dans la classe CTarget est la suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 CTarget Target; while(#condition) { Target.Heat(); }
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".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; }
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.
++
Partager