GCC compile problem ...

John Love-Jensen eljay@adobe.com
Fri Sep 27 09:35:00 GMT 2002


Hi Gerhard,

The TEMPORARY from test.getString is being set to a REFERENCE.

The TEMPORARY is destructed, more-or-less, after the semicolon that set the
string reference to the temporary.

The cout << s << "\n"; is operating on the s string that has been
destructed, which is very dangerous.  Who knows what state that freed STACK
memory and HEAP memory will be in, especially during the machinations of the
ostream processing.

Borland C++ 5.5 and Microsoft Visual C++ 6.0 should be ashamed.  Shame.
Shame.

--Eljay



More information about the Gcc-help mailing list