Bon bon le c++ me plait mais me casse la tête!
J'ai écrit un classe Grille et une classe Joueur que j'instancie.
Dans un main, je veux passer cette "Grille g" et "Joueur j" en paramètres dans une fonction mais ça ne fonctionne pas. Je croyais devoir ajouter & devant les param mais non, ça ne suffit pas. J'obtiens l'erreur "conversion from `Grille*' to non-scalar type `Grille' requested". Même erreur pour le Joueur.
Voici un peu de code pour vous situer:
Ex de la classe joueur:
Voici la fonction qui me cause problème (pas d'erreur à la compilation en passant):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Joueur::Joueur(string nom, int pointage){ this->nom = nom; this->pointage = pointage; .... }
Mais voilà! Si j'appel cette fonction dans un main, exempe:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 int choixColonneUtilisateur(Grille g, Joueur j, int ligne) // *************** A CODER { g.afficherGrille(); int colonne = saisirEntier(0, g.getDim(), ": Veuillez entrer le numero de colonne de la case choisie : "); if (g.getValeurDeLaCase(ligne, colonne) == 99) { cout << "***Choix invalide***" << endl; return 0; }else { int tmp = g.getValeurDeLaCase(ligne, colonne); g.setValeurDeLaCase(ligne, colonne, 99); j.setPointage(j.getPointage() + tmp); return tmp; } }
La ligne mauve soulignée me donne l'erreur scalar....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 ............ if (veuxCommencer.compare("oui") == 0) { int temp = choixColonneUtilisateur(g, j1, 0); }else.......... {
Que faire?
Merci
Partager