This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
No match for 'operator<<' in '((HttpRequest*
- From: eric <cneric12lin0 at gmail dot com>
- Cc: gcc-help at gcc dot gnu dot org
- Date: Wed, 13 Jul 2011 17:55:20 -0700 (PDT)
- Subject: No match for 'operator<<' in '((HttpRequest*
- Complaints-to: groups-abuse@google.com
- Injection-info: f39g2000prb.googlegroups.com; posting-host=99.116.255.96; posting-account=aekHSAoAAADeChaoWK7DJgcBoN_eKvLi
- Newsgroups: comp.lang.c++
Dear advanced c/g++ programers:
I have a simple program from book C++ cookbook, page 291, 8.3, Using
Constructors and Destructors to manage
resources (or RAII), but it can not get compiled in my g++
------------------------------------------------------------------------------------------------
// Example 8-3. Using constructors and destructors
#include <iostream>
#include <string>
using namespace std;
class Socket {
public:
Socket(const string& hostname) {}
};
class HttpRequest {
public:
HttpRequest (const string& hostname) :
sock_(new Socket(hostname)) {}
void send(string soapMsg) {sock_ << soapMsg; }
~HttpRequest () {delete sock_;}
private:
Socket* sock_;
};
void sendMyData(string soapMsg, string host) {
HttpRequest req(host);
req.send(soapMsg);
// Nothing to do here, because when req goes out of scope
// everything is cleaned up.
}
int main() {
string s = "xml";
sendMyData(s, "www.oreilly.com");
}
------------------------------------------------------------------------------------------------------------------------
my test compile fail as
----------------------------------
eric@eric-laptop:~/cppcookbook/ch8$ g++ Example8-3.cpp
Example8-3.cpp: In member function ‘void
HttpRequest::send(std::string)’:
Example8-3.cpp:13:39: error: no match for ‘operator<<’ in
‘((HttpRequest*)this)->HttpRequest::sock_ << soapMsg’
-------------------------------------------------------------
on both g++ 4.3.4 and 4.5.2
you can get its source code from
http://examples.oreilly.com/9780596007614/
to test by yourself
looking and thanks your help a lot in advance, Eric