Tror bare det her er en af de ting jeg ikke skal forstå :)
Jeg har kigget alt igennem, og kan ikke se noget der skulle retunere mærkeligt. Og da det er en stor rekursiv funktion, dur det ikke rigtig noget at debugge
void movegenerator(int farve, int moves[1000][2], int bedstGammel=0, int bedstNy=0);
Når man skal lave moves, så laver man int moves[1000][2];
Som som indsættes som argument i movegenerator. Den vil jeg så blive en reference, så når jeg skriver til den, bliver det gemt i den jeg oprettede inden koden blev kørt.
Og der virker også, jeg får de rigtige moves ud. Men, når jeg køre det mange gange, så begynder det at betyde noget, om jeg køre printf("") før eller efter funktionen.
Det kunne også være buffer overflow. Hvordan bounds checker du din moves[1000][2]? hvordan tæller du dine mulig moves? løbende eller efter alle er genereret?
Så blev opgaven afleveret, så nu er "problemet" væk :)
Vi fandt ud af, at hvis man lavede int moves[1000][2]; om til int moves[200][2];, opstod fejlen rent faktisk ikke. Så det har jo nok været fordi det har fyldt for meget.
Hvis der er nogle der gerne vil have point, så bare lig et svar :)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.