Problem with private methods

Hultman, Sten sten.hultman@cgey.com
Thu Feb 7 08:02:00 GMT 2002


Hi !

I have encountered a problem when turning from aCC to gcc 3.0.3 on
HP-UX11.00.

I enclose a short samle and the error messages.
It works with no problem on aCC.
I can't see why the streambuf methods are private in this context.or anyo 
Greatful for any hint !

Kindest regards
Sten Hultman


THE PROGRAM:

#include <iostream>
using namespace std;

class sockbuf: public streambuf {
public:
                        sockbuf ();
                        sockbuf (const sockbuf&);
  sockbuf&              operator = (const sockbuf&);
  virtual               ~sockbuf ();
};

sockbuf::sockbuf (const sockbuf& sb)
  : streambuf (sb)
{
}

sockbuf& sockbuf::operator = (const sockbuf& sb)
{
  if (this != &sb ) {
    streambuf::operator = (sb);
    this->sockbuf::~sockbuf(); 
  }
  return *this;
}

THE COMPILER MESSAGES:

[49] % g++ -c socktest.C -o socktest.o
/home/jalpman/gnu32/lib/gcc-lib/hppa2.0w-hp-hpux11.00/3.0.3/include/g++/bits
/std_streambuf.h: In
   copy constructor `sockbuf::sockbuf(const sockbuf&)':
/home/jalpman/gnu32/lib/gcc-lib/hppa2.0w-hp-hpux11.00/3.0.3/include/g++/bits
/std_streambuf.h:517: `std::basic_streambuf<_CharT,
   _Traits>::basic_streambuf(const std::basic_streambuf<_CharT, _Traits>&) 
   [with _CharT = char, _Traits = std::char_traits<char>]' is private
socktest.C:17: within this context
/home/jalpman/gnu32/lib/gcc-lib/hppa2.0w-hp-hpux11.00/3.0.3/include/g++/bits
/std_streambuf.h: In
   member function `sockbuf& sockbuf::operator=(const sockbuf&)':
/home/jalpman/gnu32/lib/gcc-lib/hppa2.0w-hp-hpux11.00/3.0.3/include/g++/bits
/std_streambuf.h:520: `std::basic_streambuf<_CharT,
   _Traits>& std::basic_streambuf<_CharT, _Traits>::operator=(const 
   std::basic_streambuf<_CharT, _Traits>&) [with _CharT = char, _Traits = 
   std::char_traits<char>]' is private
socktest.C:24: within this context


COMPARISON WITH aCC:

] % 
[55] % aCC  -c -AA -O -D__hpux__  -I. -I/opt/aCC/include_std  socktest.C -o
socktest.o
[56] % 








This message contains information that may be privileged or confidential and is the property of the Cap Gemini Ernst & Young Group. It is intended only for the person to whom it is addressed. If you are not the intended recipient, you are not authorized to read, print, retain, copy, disseminate, distribute, or use this message or any part thereof. If you receive this message in error, please notify the sender immediately and delete all copies of this message.



More information about the Gcc-help mailing list