------- Comment #1 from pinskia at gcc dot gnu dot org  2006-02-25 19:57 -------
First:
  Y y(X());

that declares a function rather than a variable.
You want:
  Y y((X()));

Second, this is called life time and there is no way for GCC to know that
constructure's argument is used only for assigning to a variable in this.  And
there is no way to know for GCC to know that the argument assigning to this->x
comes from a temporary variable.  Unless you have IPA and then it would be cost
a lot of time to look.

And if the C++ books you have don't talk about life time of a temporary
variable, then they are not good C++ boks at all.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |INVALID


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26471

Reply via email to