[bug] Initialisation invalide d'une référence non const à partir d'un temporaire.
bonjour.
J'ai défini une petite classe comme suit:
Code:
1 2 3 4 5 6 7 8 9 10
| class solid_pos: public point
{
angle<SOLID_ANGLE_PREC> dir;
public:
solid_pos(const point & pt=point(),angle<SOLID_ANGLE_PREC> agl=angle<SOLID_ANGLE_PREC>());
solid_pos(const solid_pos & pos);
inline solid_pos & operator-()const;
}; |
or dans l'implémentation de operator -:
Code:
1 2 3 4
| inline solid_pos & solid_pos::operator-()const
{
return solid_pos(point::operator-(),-dir); //plante ici
} |
il me fait l'erreur suivante sur le return:
Citation:
...solid_pos.h|28|erreur: invalid initialization of non-const reference of type ‘solid_pos&’ from a temporary of type ‘solid_pos’|
ce que j'ai du mal à comprendre vu qu'une référence doit forcément s'initialiser à partir d'un objet...
bref, un éclairement serait bienvenu.
merci.