En fait, je voulais savoir, qu'elles étaient les causes le plus fréquentes du message d'erreur windows:
"console.exe a rencontré un problème et doit fermer. Nous vous prions de nous excuser pour le désagrément encouru."
Cela m'arrive souvent, et j'avoue que c'est un peus énervent quand on ne sais même pas pourquoi son programme ne marche pas...
Generalement c' est un acces en memoire non autorisé !
Apres une allocation dynamique verifie toujours que ton pointeur n' est pas null , n' essais pas d' acceder a une variable qui a deja été libérée. Depasse pas la capacité de tes tableaux alloués statiquement !!
Et on comprend pourquoi.
Je suppose que a est la taille du tableau (pas détaillé le reste du code, désolé). Du coup, tu parcours tout le tableau des indices 0 à a. Et comme Tab[a] n'existe pas alors que tu essayes de le modifier : seg fault (accès non autorisé en mémoire justement).
Les indices d'un tableau vont de 0 à (a-1). Il faudrait donc que tu modifies la condition de ton for.
J'ai déménagé sur Zeste de savoir — Ex-manager des modérateurs.
Erreurs bête :
Je prends un exemple pour que tu vois l'erreur :
je dis vouloir rentrer 2 message. La première boucle que je rencontre est ainsi :
for(int i=0; i<=2; i++) {
Tab[i]=""; }
i=0, puis i=1, puis i=3; 3 messages. Seulement dans ton message = new string[nombre] tu n'as alloué que 2 message (je sais pas si on peut le dire comme ca )
Voilà, en clair : vire tous tes "i<=a" et remplace par "i<a"
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Google