[C++-sig] Re: def( str( self)) error

David Abrahams dave at boost-consulting.com
Mon May 26 22:01:16 CEST 2003


Jonathan Brandmeyer <jbrandmeyer at earthlink.net> writes:

> I have a class that uses an overloaded << and >> operators for I/O. 
> When I try to export that class with the member function .def( str(
> self)), I get a 'no function for call to' error.  My operator has the
> following signature in C++, and works just fine for the standard
> streams, and stringstreams:
>
> namespace std 
> {
> template<typename char_T, class traits>
> basic_ostream<char_T, traits>&
> operator<<( basic_ostream<char_T, traits>& stream, const
> physics::vector& v); // Definition not shown for brevity.
> } // !namespace std
>
> I'm using G++ 3.2.2, with identical errors on Win32/MinGW and Debian
> Sid.

Well, you're not allowed to add definitions to std:: - your function
should go in namespace physics.  I'm not sure that would make a
difference though; it seems it should be found by Koenig Lookup
either way.

Bug reporting and help requests 101: Why don't you post a small
reproducible example, and at least give the full text of the error
message?

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com





More information about the Cplusplus-sig mailing list