EyVoK
Messages postés1Date d'inscriptionjeudi 5 avril 2018StatutMembreDernière intervention 5 avril 2018
-
5 avril 2018 à 09:21
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023
-
5 avril 2018 à 11:20
Bonjour,
c'est ma première question sur un forum donc je m'excuse d'avance si j'oublie des éléments !
Je fais un Monopoly en c++ et mon problème est que mon .exe plante sans raison. Le code compile, je lance donc l’exécution jusqu'à l'appel de ma fonction 'getCasse' qui marchait la dernière fois.
dee = (rand() % 11)+2; cout << "Vous avez fait " << dee <<endl; casse=casse+dee; if (*casse>39) { int temp; argent = argent + 20000; temp = *casse - 39;
casse = 0 + temp;}cout << "Vous êtes à la case " << casse <<endl;cout << endl;}
J'ai lu sur quelques topic qu'il s'agirait d'un problème de mémoire, mais rien ne correspondait précisément à mon problème, merci d'avance pour vos réponses.
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023124 5 avril 2018 à 11:20
Bonjour.
As-tu passé ton code dans un debugger pour voir où était le problème exactement ?
Tu fournis peu de code, mais ce que tu fournis me paraît déjà suspicieux. Je vois du "*casse", ce qui me fait penser que "casse" est un pointeur. Donc faire casse = casse + dee risque de mal se passer (*casse = *casse + dee peut être ? Ou bien veux-tu réellement faire de l'arithmétique de pointeur là-dessus ?). Si tu bouges le pointeur, et que ton "getCasse" fait un "return *casse", alors tu vas essayer d'accéder à une adresse qui n'est pas celle attendue, et ça risque fort de planter :p.