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
Vous remarquerez ques le -1 à changé de valeur,
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]
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]
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
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];
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
Partager