Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c++ > #7786

Re: No match for 'operator<<' in '((HttpRequest*

From Ian Collins <ian-news@hotmail.com>
Newsgroups comp.lang.c++
Subject Re: No match for 'operator<<' in '((HttpRequest*
Date 2011-07-14 14:08 +1200
Message-ID <9871f3F78bU1@mid.individual.net> (permalink)
References <2a9f24c1-ac62-4d44-b518-e30a9877fc13@f39g2000prb.googlegroups.com>

Show all headers | View raw


On 07/14/11 12:55 PM, eric wrote:
> 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’
> -------------------------------------------------------------

You don't have an operator<<( Socket*, const std::string& ) declared 
anywhere.

-- 
Ian Collins

Back to comp.lang.c++ | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

No match for 'operator<<' in '((HttpRequest* eric <cneric12lin0@gmail.com> - 2011-07-13 17:55 -0700
  Re: No match for 'operator<<' in '((HttpRequest* Ian Collins <ian-news@hotmail.com> - 2011-07-14 14:08 +1200
    Re: No match for 'operator<<' in '((HttpRequest* eric <cneric12lin0@gmail.com> - 2011-07-13 19:42 -0700
      Re: No match for 'operator<<' in '((HttpRequest* Ian Collins <ian-news@hotmail.com> - 2011-07-14 16:58 +1200
        Re: No match for 'operator<<' in '((HttpRequest* eric <cneric12lin0@gmail.com> - 2011-07-13 22:17 -0700
          Re: No match for 'operator<<' in '((HttpRequest* Ian Collins <ian-news@hotmail.com> - 2011-07-14 17:55 +1200
            Re: No match for 'operator<<' in '((HttpRequest* eric <cneric12lin0@gmail.com> - 2011-07-13 23:06 -0700
  Re: No match for 'operator<<' in '((HttpRequest* "io_x" <a@b.c.invalid> - 2011-07-14 10:24 +0200
    Re: No match for 'operator<<' in '((HttpRequest* Ian Collins <ian-news@hotmail.com> - 2011-07-14 20:37 +1200
    Re: No match for 'operator<<' in '((HttpRequest* eric <cneric12lin0@gmail.com> - 2011-07-14 04:37 -0700
      Re: No match for 'operator<<' in '((HttpRequest* "io_x" <a@b.c.invalid> - 2011-07-14 17:34 +0200

csiph-web