Bonjour à tous!
Désolé pour le titre peu explicite, mais mon problème est assez compliqué à expliquer...
Je travaille sur un solveur de nonogramme (un jeu à résolution binaire).
Mon programme compile mais ne tourne pas. J'ai donc cherché d'où vient l'erreur en ajoutant des cout un peu partout. et j'ai identifé que l'erreur arrivait à la fin d'un fonction :
http://pastie.org/1300872 pour un peu plus de code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 void solve() { algo1(); cout<<"fin solve"<<endl; } void algo1() { ...instructions... cout<<"fin algo"<<endl; }
à la sortie, je n'ai que "fin algo2" qui s'affiche. je ne comprends vraiment pas d'où cela peut venir. j'ai déjà vérifié les potentiels ; et } manquants. je ne sais plus trop quoi faire... des idées?
merci
EDIT
J'ai testé de déporter la fin du code (lignes 46 à 92 dans pastie) de ma fonction algo1() dans une autre fonction, et mon problème s'exporte dans la fonction nouvellement créée. ça ne m'avance pas, mais peut-être que ça vous avancera ^^
EDIT 2
J'ai testé de faire renvoyer une valeur à mes fonctions, de cette manière :
le 1 renvoyé par algo1 et le endl sont affichés en console. c'est de plus en plus énigmatique à mes yeux
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 void solve() { cout << algo1() << endl; cout<<"fin solve"<<endl; } int algo1() { ...instructions... cout<<"fin algo"<<endl; return 1; }
EDIT 3 (vous inquietez pas, je dors comme tout le monde, mais je vis à taïwan, c'est le jour ici)
J'ai reconstruit mon projet avec Code Blocks, pour profiter de son debugger. L'erreur renvoyée quand ça plante est une segmentation fault. Je vois pas trop d'où ça peut venir...
Partager