Hello tout le monde, je me heurte à un problème (sans doute des plus banals) :

lorsque je lance mon programme, celui-ci plante dans une boucle while, voici le code du main :

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
 
while(index !=0){			
trame_SDU.set_SDU(F1.getSDU(index));
 
string temps = trame_SDU.getTimestamp(index);
bool val = trame_SDU.trame_avec_PDU(index_PDU);
 
 
 
PDU trame_PDU;
trame_PDU.set_PDU(trame_SDU.getPDU(index_PDU));
vector<int> resultat_test_trame = trame_PDU.calc_MCMPLP(errpar, ent_mux);
 
if(resultat_test_trame[0]==0){
PDU_controle PDUC;
PDUC.set_PDU(trame_PDU.get_PDU());
PDUC.stockage_C(index_PDUC);
cout << endl<<"taille PDU : " << PDUC.get_PDU().size()/2<<endl;
cout << "index : " << index << endl;
}
Mon avis est que l'erreur provient du fait que je ne détruis pas mes objets, j'ai donc créé un destructeur dans mes classes SDU et PDU, de la manière suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
SDU::~SDU(){delete contenu_SDU;}
d'une part il semble que je ne puisse pas vider le contenu d'une string par la commande delete, et d'autre part, il semble que l'appel du destructeur ne résolve pas le probleme.

Pensez vous que le problème vienne d'ailleurs ? Un programme qui plante en milieu d'exécution, cela peut etre du à quoi autrement ? pointage vers "le vide" ?

Merci pour vos réponses ! si vous avez besoin du reste du code, demandez le moi, je l'afficherai !