C++ passage d'objets en parametres (scalar?)

Fermé
Rusty - 25 févr. 2010 à 17:17
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 26 févr. 2010 à 08:24
Bon bon le c++ me plait mais me casse la tête!:calim2:

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 "[U]conversion from `Grille*' to non-scalar type `Grille' requested[/U]". Même erreur pour le Joueur.

Voici un peu de code pour vous situer:

Ex de la classe joueur:
[code]Joueur::Joueur(string nom, int pointage){
this->nom = nom;
this->pointage = pointage;
....
}[/code]

Voici la fonction qui me cause problème (pas d'erreur à la compilation en passant):
[code]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;
}
}[/code]

Mais voilà! Si j'appel cette fonction dans un main, exempe:
[code]............
if (veuxCommencer.compare("oui") == 0)
{
int temp = choixColonneUtilisateur(g, j1, 0);
}else..........
{[/code]

La ligne soulignée me donne l'erreur scalar....

Que faire?

Merci
A voir également:

1 réponse

Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
26 févr. 2010 à 08:24
essai:
int temp = choixColonneUtilisateur(*g, *j1, 0);
ça manque un peu de détails pour en dire plus.
0