This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Errors in overloaded "<<" operator


Hi folks,

I'm trying to port the mysql++ API to MinGW, and I found I had to change some
stuff in the sources to do so. I'm stuck at a point now where the "<<" operator
is overloaded for a database query. "make" gives me the following error messages
here:

  In file included from c:/mingw/include/c++/3.2/backward/strstream:51,
		   from c:/mingw/include/c++/3.2/backward/strstream.h:33,
		   from sql_query1.hh:4,
		   from manip1.hh:12,
		   from manip2.hh:2,
		   from manip3.hh:2,
		   from manip.cc:2:
  c:/mingw/include/c++/3.2/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated.
  manip.cc: In function `SQLQuery& operator<<(SQLQuery&, const 
     mysql_ColData<std::string>&)':
  manip.cc:120: choosing `std::basic_ostream<char, _Traits>& 
     std::operator<<(std::basic_ostream<char, _Traits>&, const char*) [with 
     _Traits = std::char_traits<char>]' over `SQLQuery& operator<<(SQLQuery&, 
     const mysql_ColData<const_string>&)'
  manip.cc:120:   because worst conversion for the former is better than worst 
     conversion for the latter
  manip.cc:120: choosing `std::basic_ostream<char, _Traits>& 
     std::operator<<(std::basic_ostream<char, _Traits>&, const char*) [with 
     _Traits = std::char_traits<char>]' over `SQLQuery& operator<<(SQLQuery&, 
     const mysql_ColData<std::string>&)'
  manip.cc:120:   because worst conversion for the former is better than worst 
     conversion for the latter
  manip.cc:122: choosing `std::basic_ostream<char, _Traits>& 
     std::operator<<(std::basic_ostream<char, _Traits>&, const char*) [with 
     _Traits = std::char_traits<char>]' over `SQLQuery& operator<<(SQLQuery&, 
     const mysql_ColData<const_string>&)'
  manip.cc:122:   because worst conversion for the former is better than worst 
     conversion for the latter
  manip.cc:122: choosing `std::basic_ostream<char, _Traits>& 
     std::operator<<(std::basic_ostream<char, _Traits>&, const char*) [with 
     _Traits = std::char_traits<char>]' over `SQLQuery& operator<<(SQLQuery&, 
     const mysql_ColData<std::string>&)'
  manip.cc:122:   because worst conversion for the former is better than worst 
     conversion for the latter
  manip.cc:125: choosing `std::basic_ostream<char, _Traits>& 
     std::operator<<(std::basic_ostream<char, _Traits>&, const char*) [with 
     _Traits = std::char_traits<char>]' over `SQLQuery& operator<<(SQLQuery&, 
     const mysql_ColData<const_string>&)'
  manip.cc:125:   because worst conversion for the former is better than worst 
     conversion for the latter
  manip.cc:125: choosing `std::basic_ostream<char, _Traits>& 
     std::operator<<(std::basic_ostream<char, _Traits>&, const char*) [with 
     _Traits = std::char_traits<char>]' over `SQLQuery& operator<<(SQLQuery&, 
     const mysql_ColData<std::string>&)'
  manip.cc:125:   because worst conversion for the former is better than worst 
     conversion for the latter
  manip.cc: In function `SQLQuery& operator<<(SQLQuery&, const 
     mysql_ColData<const_string>&)':
  manip.cc:139: choosing `std::basic_ostream<char, _Traits>& 
     std::operator<<(std::basic_ostream<char, _Traits>&, const char*) [with 
     _Traits = std::char_traits<char>]' over `SQLQuery& operator<<(SQLQuery&, 
     const mysql_ColData<const_string>&)'
  manip.cc:139:   because worst conversion for the former is better than worst 
     conversion for the latter
  manip.cc:139: choosing `std::basic_ostream<char, _Traits>& 
     std::operator<<(std::basic_ostream<char, _Traits>&, const char*) [with 
     _Traits = std::char_traits<char>]' over `SQLQuery& operator<<(SQLQuery&, 
     const mysql_ColData<std::string>&)'
  manip.cc:139:   because worst conversion for the former is better than worst 
     conversion for the latter
  manip.cc:141: choosing `std::basic_ostream<char, _Traits>& 
     std::operator<<(std::basic_ostream<char, _Traits>&, const char*) [with 
     _Traits = std::char_traits<char>]' over `SQLQuery& operator<<(SQLQuery&, 
     const mysql_ColData<const_string>&)'
  manip.cc:141:   because worst conversion for the former is better than worst 
     conversion for the latter
  manip.cc:141: choosing `std::basic_ostream<char, _Traits>& 
     std::operator<<(std::basic_ostream<char, _Traits>&, const char*) [with 
     _Traits = std::char_traits<char>]' over `SQLQuery& operator<<(SQLQuery&, 
     const mysql_ColData<std::string>&)'
  manip.cc:141:   because worst conversion for the former is better than worst 
     conversion for the latter
  manip.cc:144: choosing `std::basic_ostream<char, _Traits>& 
     std::operator<<(std::basic_ostream<char, _Traits>&, const char*) [with 
     _Traits = std::char_traits<char>]' over `SQLQuery& operator<<(SQLQuery&, 
     const mysql_ColData<const_string>&)'
  manip.cc:144:   because worst conversion for the former is better than worst 
     conversion for the latter
  manip.cc:144: choosing `std::basic_ostream<char, _Traits>& 
     std::operator<<(std::basic_ostream<char, _Traits>&, const char*) [with 
     _Traits = std::char_traits<char>]' over `SQLQuery& operator<<(SQLQuery&, 
     const mysql_ColData<std::string>&)'
  manip.cc:144:   because worst conversion for the former is better than worst 
     conversion for the latter
  make[3]: *** [manip.lo] Error 1
  make[2]: *** [all] Error 2
  make[1]: *** [all-recursive] Error 1
  make: *** [all] Error 2

The source it complains about is in the attachment.

Can anyone help me with an idea how to fix that?

Thanks,

  Markus

Attachment: manip.cc
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]