Tu as essayé? Si oui, qu'est-ce qui ne va pas. Si non, pourquoi ne pas le faire? En regardant simplement je n'ai rien vu de très grave.
Tout d'abord je te remerci pour ta réponse tres complete ! Et pour te répondre oui j'ai essayé de compiler et j'obtient 2 warning dont 1 erreur:
"-warning C4805: '==' : mélange risqué de type 'int' et de type 'bool' dans l'opération
-warning C4390: ';' : une instruction contrôlée a été trouvée vide ; est-ce ce que vous souhaitiez ?
-error C2181: instruction else sans if correspondant non conforme"
Pour les warning, je ne les comprends pas tres bien mais l'erreur encore moins.
Voici néanmoins quelques commentaires...
Ne jamais utiliser using namespace std; dans un en-tête, ni avant d'avoir inclu tous les en-têtes. Sur des programmes important, c'est même mieux de ne pas l'utiliser du tout.
Pourquoi ne pas l'utiliser ? Cela évite a chaque fois de remarquer "std::" avant les cin/cout c'est quand meme pour fait pour gagner du temps non ?
La, j'avoue je n'arrive pas a comprendre. On m'a dit que void ou int dans ce cas la c'était pareil!
Pourquoi pas (PileOuFace() == true == true == true == true) ? PileOuFace retourne un bool, inutile de le comparer à true.
Ok, mais comment le comparer alors ?
Essaye de surveiller ton indentation.
Oui j'ai rajouté des espaces quand je previsualisait le message en pensant que tout était aligné, désolé je ferai attention la prochaine fois
Au dessus, tu fais une comparaison explicite à true qui n'a guère de sens, ici, tu convertis implicitement un
int en un
bool. C'est ici que j'aurais mis une comparaison.
comme ceci ??
Autre chose, quand je lis que PileOuFace retourne un bool, je ne sais pas a priori ce que signifie true. Soit tu changes le nom de la fonction de manière à ce que la signification soit claire (estPile() par exemple), soit tu retournes un enum { face, pile };
Ahh oui je vois, c'est vrai

Partager