Bonjour

j'aurai voulu savoir si vous connaissez à quoi est due cette erreur:
*** glibc detected *** double free or corruption (!prev): 0x08050158 ***

Je travaille avec des vecteurs, j'ai un vecteur qui s'appelle x, et voila les valeurs qu'il prend

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
[-1 , -0.95 , -0.9 , -0.85 , -0.8 , -0.75 , -0.7 , -0.65 , -0.6 , -0.55 , -0.5 , -0.45 , -0.4 , -0.35 , -0.3 , -0.25 , -0.2 , -0.15 , -0.1 , -0.05 , 3.19189e-16 , 0.05 , 0.1 , 0.15 , 0.2 , 0.25 , 0.3 , 0.35 , 0.4 , 0.45 , 0.5 , 0.55 , 0.6 , 0.65 , 0.7 , 0.75 , 0.8 , 0.85 , 0.9 , 0.95 , 1]
 
[-1 , -0.95 , -0.9 , -0.85 , -0.8 , -0.75 , -0.7 , -0.65 , -0.6 , -0.55 , -0.5 , -0.45 , -0.4 , -0.35 , -0.3 , -0.25 , -0.2 , -0.15 , -0.1 , -0.05 , 3.19189e-16 , 0.05 , 0.1 , 0.15 , 0.2 , 0.25 , 0.3 , 0.35 , 0.4 , 0.45 , 0.5 , 0.55 , 0.6 , 0.65 , 0.7 , 0.75 , 0.8 , 0.85 , 0.9 , 0.95 , 1]
 
[11.7597 , -0.95 , -0.9 , -0.85 , -0.8 , -0.75 , -0.7 , -0.65 , -0.6 , -0.55 , -0.5 , -0.45 , -0.4 , -0.35 , -0.3 , -0.25 , -0.2 , -0.15 , -0.1 , -0.05 , 3.19189e-16 , 0.05 , 0.1 , 0.15 , 0.2 , 0.25 , 0.3 , 0.35 , 0.4 , 0.45 , 0.5 , 0.55 , 0.6 , 0.65 , 0.7 , 0.75 , 0.8 , 0.85 , 0.9 , 0.95 , 1]
Vous remarquerez ques le -1 à changé de valeur,
le 0 aussi en fait, mais si je trouve pourquoi le -1 a changé, je le saurai pour le 0 aussi
et voila le bout de code qui en est responsable


!!!!! x c'est disd[0]

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
cout<<x<<endl;  // ca passe
 
 AA[0][comp]  = ones0;
 AA[1][comp]  = pow(disd[1],2)-1;
 comp++;
 cout<<x<<endl; // ca passe
 
  AA[0][comp]  = pow(disd[0],2)-1;
  AA[1][comp]  = 2.;
 comp++;
 cout<<x<<endl; // ca passe plus
 AA[0][comp] = 6*disd[0];
au cas ou, la fonction pow c'est ca

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 Vector<double> pow( Vector<double> x,int pp)
{
 
      int s=x.size();
      Vector<double> x2(s);
      for (int i=0;i<s;i++)
        x2[i]=pow(x[i],pp);
      return x2;
 
}


à quoi est due cette erreur svp, merci d'avance