bonjour.

J'ai défini une petite classe comme suit:


Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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:
...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.