nisaloncaje
Messages postés154Date d'inscriptionsamedi 7 janvier 2006StatutMembreDernière intervention28 septembre 2008
-
19 juin 2006 à 19:44
nisaloncaje
Messages postés154Date d'inscriptionsamedi 7 janvier 2006StatutMembreDernière intervention28 septembre 2008
-
7 juil. 2006 à 21:56
Bonjour, je m'arrache les cheveux parce que j'ai un bug dans mon programme que je ne trouve pas :
en effet, j'ai le code suivant :
lf=new int [maxi];
for(int i=0;i<maxi;i++) {
lf[i]=i+1;
}
delete lf;
et, parfois, pas tout le temps, windows me dit : "le programme doit fermer ... et le blabla habituel.
j'ai pu localiser l'erreur : c'est le delete lf qui bug, mais je ne comprends pas pourquoi, ma syntaxe me semblant correcte
nisaloncaje
Messages postés154Date d'inscriptionsamedi 7 janvier 2006StatutMembreDernière intervention28 septembre 2008 7 juil. 2006 à 21:01
rebonjour à tous : et bien j'ai toujours le même problème, et je comprends pas pourquoi :(
le code est maintenant :
int *lf;
lf=new int [maxi];
for(int i=0;i<maxi;i++) {
lf[i]=i+1;
}
delete [] lf; et quand le code est lancé une première fois il n'y a aucun problème, cependant, comme on est dans une boucle ce code peut etre lancé plusieurs fois d'affilée. Et ces fois là, cela plante (à partir du second tour donc)
Please help !!! :(
Vous n’avez pas trouvé la réponse que vous recherchez ?
nisaloncaje
Messages postés154Date d'inscriptionsamedi 7 janvier 2006StatutMembreDernière intervention28 septembre 2008 7 juil. 2006 à 21:56
Notule : en fait ce code est une fonction fct77() c'est à dire qu'on a :
void fct77(){
int *lf;
lf=new int [maxi];
for(int i=0;i<maxi;i++) {
lf[i]=i+1;
}
delete [] lf;
// encore un peu de code
}
main(){
for(int i=0;i<10;i++){
fct77();
}
}
et j'ai remarqué que si après le delete [] lf je remets un lf = new int [une valeur au hasard] et bien le premier delete ne fait jamais planté le programme