Erreur compilation C++

marlinne Messages postés 20 Date d'inscription mardi 5 juin 2012 Statut Membre Dernière intervention 13 octobre 2013 - 13 oct. 2013 à 18:39
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 13 oct. 2013 à 21:25
Bonjour,
j'ai ce code-ci :
int Mobile::operator+=(const Vecteur3D& v){

position[0]=position.setX(position.getX() + v.getX());
position[1]=position.setY(position.getY() + v.getY());
position[2]=position.setZ(position.getZ() + v.getZ());

return 0;
}

et on me dit : [Error] void value not ignored as it ought to be ..
ceci veut dire quoi ?
Merciiii

2 réponses

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
13 oct. 2013 à 19:52
Bonjour.

C'est une erreur qui arrive lorsqu'une méthode ou fonction ne retourne rien, et que tu essaies quand même d'en récupérer la valeur.
Ici les méthodes "set" ont clairement l'air d'attribuer une valeur et non d'en retourner. Or tu essaies de mettre le retour des ces fonctions dans un tableau position.
De là, vient ton erreur.
0
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
13 oct. 2013 à 21:25
Coucou marlinne! ;)
Bienvenue parmi nous!
Pour compléter ce qu'à dit mon ami cptpingu, il faut donc que tu supprimes les affectations et que tu laisses seulement
position.setX(position.getX() + v.getX());


Par contre, au lieu d'un int, je retournerais
this
plutôt...
0
Rejoignez-nous