Probleme de débordement de mémoire
Salut tout le monde
J'utilise des vecteurs de structure et j'ai un problème de débordement de mémoire.
Code:
1 2 3 4 5 6
|
struct PseudoConcept
{
vector<int> intent;
vector<int> extent;
}; |
Code:
1 2 3 4 5 6 7 8
|
struct InfoContext
{
PseudoConcept couple;
PseudoConcept pseudo;
vector <int> concept;
int num_concept;
}; |
Code:
1 2
|
typedef vector<InfoContext*> ContextVect; |
En fait le débordement est localisé dans une boucle quand j'essaye de remplir une variable de "ContextGlobal" de type ContextVect
Le code est le suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
ContextVect ContextGlobal;
InfoContext ContextElement;
PseudoConcept p,c;
vector<int> cc;
ContextGlobal.reserve(couverture);
for(int n=0;n<10;n++)
{
c.intent.clear();
c.extent.clear();
p.intent.clear();
p.extent.clear();
ContextElement.couple.intent.clear();
ContextElement.couple.extent.clear();
ContextElement.pseudo.intent.clear();
ContextElement.pseudo.extent.clear();
ContextElement.concept.clear();
ContextGlobal[n]->couple.intent.clear();
ContextGlobal[n]->couple.extent.clear();
ContextGlobal[n]->pseudo.intent.clear();
ContextGlobal[n]->pseudo.extent.clear();
ContextGlobal[n]->concept.clear();
c.intent.resize(1);
c.extent.resize(1);
c.intent.push_back(exp_courant);//exp_courant déja rempli
c.extent.push_back(attr_courant); //attr_courant déja rempli
ContextElement.couple=c;
for (int q=0;q<20;q++)
{
p.intent.push_back(1);
p.extent.push_back(0);
ContextElement.pseudo=p;
cc=resultat;// resultat est un vecteur de int déjà rempli
ContextElement.concept=cc;
ContextElement.num_concept=1;
ContextGlobal[n]->couple=ContextElement.couple;
ContextGlobal[n]->pseudo=ContextElement.pseudo;
ContextGlobal[n]->concept=ContextElement.concept;
ContextGlobal[n]->num_concept=ContextElement.num_concept;
}
} |