Erreur compilation C++

Signaler
Messages postés
20
Date d'inscription
mardi 5 juin 2012
Statut
Membre
Dernière intervention
13 octobre 2013
-
Messages postés
14955
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
27 janvier 2021
-
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

Messages postés
3829
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
8 janvier 2021
114
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.
Messages postés
14955
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
27 janvier 2021
93
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...