Salut ^^

Je suis tombé sur un os dont je ne comprend absolument pas la cause. Mon programme marche tres bien jusq'a ce qu'il plante à un moment donné. Le message "28018 Erreur de segmentation" apparait.

J'ai fais des sorties pour essayer de savoir ou ça plante :

Il s'agit d'une classe et c'est au niveau du constructeur :

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
 
....
String::String(){
printf("T\n");
	size=100;
printf("U\n");
	length=0;
printf("V\n");
	value=new char[size+1];
printf("W\n");
	value[0]=0;
printf("X\n");
}
String::~String(){
	delete [] value;
}
 
....
avant le plantage l'ecran affiche :

...
...
W
X
T
U
V


J'ai donc un plantage au niveau du :

value=new char[size+1];
Mais je vois pas ce qui va pas, vu que ça plante alors que plusieurs instances de cette classes ont étés crées au paravant !!

J'ai pensé à un soucis de mémoire mais quand je fais un :

ps auxw | grep monprog
Il me dit que seulement a peine plus de 2 Mo ne sont utilisés.

Une idée ?