bug-commoncpp
[Top][All Lists]
Advanced

[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, 03 Oct 2003 21:58:20 -0400
User-agent: Mozilla/5.0 (compatible; Konqueror/3.1; Linux)

=================== BUG #2128: LATEST MODIFICATIONS ==================
http://savannah.gnu.org/bugs/?func=detailbug&bug_id=2128&group_id=89

Changes by: David Sugar <address@hidden>
Date: Fri 10/03/2003 at 21:58 (US/Eastern)

            What     | Removed                   | Added
---------------------------------------------------------------------------
          Resolution | None                      | Fixed
         Assigned to | fedemp                    | dyfet
              Status | Open                      | Closed




=================== BUG #2128: FULL BUG SNAPSHOT ===================


Submitted by: inful                   Project: commonc++                    
Submitted on: Fri 01/03/2003 at 14:53
Category:  None                       Severity:  5 - Major                  
Bug Group:  None                      Resolution:  Fixed                    
Assigned to:  dyfet                   Status:  Closed                       

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: Fri 01/17/2003 at 17: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

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]