1 pièce(s) jointe(s)
Problème de contrôle d'un attribut de classe
Voilà, j'ai mis ce code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| if(goliath.getPvActuels() = 0)
{
continuer = false;
break;
}
goliath.attaquerPersonnage(p1);
if(p1.getPvActuels() = 0)
{
continuer = false;
break;
}
break; |
Je compile avec Code::Blocks et j'obtiens deux erreurs pour chaque if qui est la même :
error : non-lvalue in assignment.
Si quelqu'un pouvait m'aider...
Si-joint le code complet.
attention à l'opérateur d'égalité qui n'est pas le meme que celui d'affectation
Salut,
une "lvalue", c'est une variable qui va prendre la valeur de la rvalue... qui est fournie apres l'opérateur d'affectation.
L'erreur t'indique qu'il trouve un opérateur d'affetation (=), qu'il trouve une rvalue (0)... mais qu'il ne trouve pas la lvalue (la variable à laquelle il doit donner la valeur de 0).
Tout cela parce que l'égalité de valeur s'indique avec deux "égal" successifs (==) et non avec un seul ;)
il suffit donc de modifier ton code en
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| if(goliath.getPvActuels() == 0)
{
continuer = false;
break;
}
goliath.attaquerPersonnage(p1);
if(p1.getPvActuels() == 0)
{
continuer = false;
break;
}
break; |
pour que cela fonctionne ;)
[edit]grilled... ca m'apprendra à vouloir faire des messages trops longs :oops: