------- Additional Comments From pinskia at gcc dot gnu dot org 2005-08-10
15:37 -------
In 3.4 and above, I get:
t4.cc:16: error: ambiguous overload for operator>> in Temp >> (int)Val
/home/gates/pinskia/linux/lib/gcc/i686-pc-linux-gnu/4.1.0/../../../../include/c++/4.1.0/istream:
131: note: candidates are: std::basic_istream<_CharT, _Traits>&
std::basic_istream<_CharT, _Traits>::
operator>>(std::basic_istream<_CharT, _Traits>& (*)(std::basic_istream<_CharT,
_Traits>&)) [with
_CharT = char, _Traits = std::char_traits<char>] <near match>
/home/gates/pinskia/linux/lib/gcc/i686-pc-linux-gnu/4.1.0/../../../../include/c++/4.1.0/istream:
134: note: std::basic_istream<_CharT, _Traits>&
std::basic_istream<_CharT, _Traits>::
operator>>(std::basic_ios<_CharT, _Traits>& (*)(std::basic_ios<_CharT,
_Traits>&)) [with _CharT =
char, _Traits = std::char_traits<char>] <near match>
/home/gates/pinskia/linux/lib/gcc/i686-pc-linux-gnu/4.1.0/../../../../include/c++/4.1.0/istream:
137: note: std::basic_istream<_CharT, _Traits>&
std::basic_istream<_CharT, _Traits>::
operator>>(std::ios_base& (*)(std::ios_base&)) [with _CharT = char, _Traits =
std::char_traits<char>]
<near match>
/home/gates/pinskia/linux/lib/gcc/i686-pc-linux-gnu/4.1.0/../../../../include/c++/4.1.0/istream:
230: note: std::basic_istream<_CharT, _Traits>&
std::basic_istream<_CharT, _Traits>::
operator>>(std::basic_streambuf<_CharT, _Traits>*) [with _CharT = char, _Traits
= std::
char_traits<char>] <near match>
I don't think this is valid code.
Actually it is not, you are invoking one of the bad extensions in GCC which was
removed for 3.4 called
the lvalue extension.
So this was fixed to reject the code in 3.4.0.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Component|c++ |libstdc++
Resolution| |INVALID
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23317