[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug #2128] Weird troubles with iostream and commonc++
From: |
nobody |
Subject: |
[Bug #2128] Weird troubles with iostream and commonc++ |
Date: |
Fri, 17 Jan 2003 17:54:00 -0500 |
=================== BUG #2128: LATEST MODIFICATIONS ==================
http://savannah.gnu.org/bugs/?func=detailbug&bug_id=2128&group_id=89
Changes by: Federico Montesino Pouzols <address@hidden>
Date: 2003-Jan-17 23:53 (Europe/Madrid)
What | Removed | Added
---------------------------------------------------------------------------
Assigned to | None | fedemp
CC | | address@hidden
------------------ Additional Follow-up Comments ----------------------------
Curiously enough, gcc 3.x seems to handle this
without trouble. It seems that gcc 2.9x finds
an ambiguity because of the Digest related <<
operators. I guess the easiest way to get
around this problem is using test.c_str()
instead of test, which seems to make gcc happy.
=================== BUG #2128: FULL BUG SNAPSHOT ===================
Submitted by: inful Project: commonc++
Submitted on: 2003-Jan-03 20:53
Category: None Severity: 5 - Major
Bug Group: None Resolution: None
Assigned to: fedemp Status: Open
Summary: Weird troubles with iostream and commonc++
Original Submission: The following snippet is the minimum of code needed to
display the problem:
#include <cc++/digest.h>
#include <iostream>
#include <string>
int main(){
const string &test("d");
cout << test << endl;
}
When compiled, the following error-messages appear:
test.cpp: In function `int main()':
test.cpp:6: no match for `_IO_ostream_withassign & << const
basic_string<char,string_char_traits<char>,__default_alloc_template<true,0> > &'
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:77:
candidates are: class ostream & ostream::operator <<(char)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:78:
class ostream & ostream::operator <<(unsigned char)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:79:
class ostream & ostream::operator <<(signed char)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:80:
class ostream & ostream::operator <<(const char *)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:82:
class ostream & ostream::operator <<(const unsigned char *)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:84:
class ostream & ostream::operator <<(const signed char *)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:85:
class ostream & ostream::operator <<(const void *)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:86:
class ostream & ostream::operator <<(int)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:87:
class ostream & ostream::operator <<(unsigned int)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:88:
class ostream & ostream::operator <<(long int)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:89:
class ostream & ostream::operator <<(long unsigned int)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:91:
class ostream & ostream::operator <<(long long int)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:92:
class ostream & ostream::operator <<(long long unsigned int)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:94:
class ostream & ostream::operator <<(short int)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:95:
class ostream & ostream::operator <<(short unsigned int)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:97:
class ostream & ostream::operator <<(bool)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:99:
class ostream & ostream::operator <<(double)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:100:
class ostream & ostream::operator <<(float)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:102:
class ostream & ostream::operator <<(long double)
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:106:
class ostream & ostream::operator <<(ostream & (*)(ostream &))
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:107:
class ostream & ostream::operator <<(ios & (*)(ios &))
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/iostream.h:108:
class ostream & ostream::operator <<(streambuf *)
/usr/include/cc++2/cc++/digest.h:125: class ostream &
ost::operator <<(ostream &, ost::Digest &)
/usr/include/cc++2/cc++/digest.h:299: class ostream &
ost::operator <<(ostream &, ost::SHATumbler<unsigned int> &)
This problem goes away as soon as you comment out
#include <cc++/digest.h>
Follow-up Comments
*******************
-------------------------------------------------------
Date: 2003-Jan-17 23:53 By: fedemp
Curiously enough, gcc 3.x seems to handle this
without trouble. It seems that gcc 2.9x finds
an ambiguity because of the Digest related <<
operators. I guess the easiest way to get
around this problem is using test.c_str()
instead of test, which seems to make gcc happy.
CC List
*******
CC Address | Comment
------------------------------------+-----------------------------
address@hidden |
No files currently attached
For detailed info, follow this link:
http://savannah.gnu.org/bugs/?func=detailbug&bug_id=2128&group_id=89
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Bug #2128] Weird troubles with iostream and commonc++,
nobody <=