Stockage d'un temporaire dans une reference
Voila, j'ai encore une petite question avec les references en C++.
J'ai un code du genre :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
struct Toto {...}
class Widget
{
public:
Widget (Toto& t) : toto_(t) {}
private:
Toto& toto_;
};
main()
{
Toto t;
Widget w(t);
...
} |
Le compilo (Visual) de dit rien, et gcc sous Cygwin non plus.
Mais pourtant qd je construis Widget, il y a une reference toto_ qui est initialisee a partir de t qui est temporaire.
je devrais avoir une warning non, au moins sous gcc ?
Est ce que ce code est valide ?
Merci.