[C++ dayly bug report] const_cast to rvalue of class type
Benjamin Scherrey
scherrey@switchco.com
Thu Apr 29 18:51:00 GMT 1999
Please pardon my ignorance here but I'm not sure I understand what the
issue is. For const_cast, the return type for a cast from anything other
than a reference type is an rvalue. In this case I would expect your
code to execute the default constructor then call your copy constructor.
Your cast doesn't have any effect that I can see. Is this not the
behaviour you're getting or anticipate?
later,
Ben Scherrey
Gabriel Dos_Reis wrote:
>
> EGCS/g++ happily accepts to const_cast to rvalues of class type.
>
> // --- cut here ---
> #include <iostream>
>
> struct A {
> A() {}
> A(const A&) { std::cout << "A::A(const A&)\n"; }
> };
>
> int main()
> {
> A a;
> const_cast<const A>(a); // ERROR
> }
> // --- cut here ---
>
> The program is ill-formed according to 5.2.11.
>
> -- Gaby
More information about the Gcc-bugs
mailing list