Problème de compilation sous Geany

Problème de compilation sous Geany

by Philémon Bordereau -
Number of replies: 2

Bonjour !

Je rencontre depuis quelques jours un problème de compilation sur certains de mes programmes écrits sous Geany. Si je ne dis pas de bêtise, je crois qu'ils sont compilés avec g++.

Par exemple sur le programme "Tours de Hanoï", voici ce que me renvoie le compilateur :


J'ai essayé de chercher sur internet des réponses en pensant qu'il s'agissait d'un problème lié au linker ou à clang (j'ai essayé de compiler sur Xcode et le compilateur me renvoie le même problème) mais je n'y connais vraiment pas grand chose.

En revanche, j'ai essayé d'isoler des portions de codes pour trouver celles qui pourraient poser problème, et il semblerait que ce soit ma fonction qui "initialise" la partie qui gêne le compilateur :


Pour info, l'appel à la fonction "parametres" sert à demander au joueur la taille du jeu, le type "Disque" est simplement un unsigned int, et le type "Jeu" est un vector de vector de disques, càd un vector de trois "Piliers" (j'aurais pu mettre un array mais je pensais que le problème venait de là). Cette fonction, une fois la taille du jeu entrée par l'utilisateur, remplit le premier tableau de "Jeu" (i.e. le premier pilier) par des "Disques" de taille croissante (le plus grand en bas). Les lignes 54 à 56 servent à donner aux deux autres piliers une taille équivalente, càd N.

J'ai aussi noté qu'en remplaçant le paramètre "Jeu&" par "const Jeu&", le compilateur ne m'indique plus l'erreur ci-dessus, mais je ne peux plus modifier les valeurs de "Jeu"...

Voilà, je ne sais pas trop comment faire, d'autant plus que je rencontre le problème sur plusieurs programmes différents. Merci pour votre aide !

In reply to Philémon Bordereau

Re: Problème de compilation sous Geany

by Jean-Cédric Chappelier -

Nous manquons malheureusement de contexte pour vous aider, mais 2 pistes :

  1. comment avez vous défini le type Disque ? (vous dites « unsigned int » mais nous ne voyons pas le programme complet)
    et surtout est-ce que votre jeu est du bon type (vector de vector de Disque comme vous dites) ?
  2. essayez avec un programme tout simple qui initialise un vector<int> tab(N, 0) pour voir ; puis initialise un tableau de ces tableaux.
Sinon, il faudrait que je vois concrètement votre code sur votre machine,
In reply to Jean-Cédric Chappelier

Re: Problème de compilation sous Geany

by Philémon Bordereau -

Merci de votre réponse ! Je teste vos différentes options et, si cela ne suffit pas à résoudre le problème, je poserai la question à un assistant en série jeudi.

Excellente soirée