🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

1 total messages Started by Glen Ditchfield Mon, 10 Jul 1989 18:05
1.35.1- inheritance bug?
#277
Author: Glen Ditchfield
Date: Mon, 10 Jul 1989 18:05
42 lines
2245 bytes
g++ misses one error in this code, and generates an error message that I
don't understand for something that isn't a problem as far as I know.
-------------------------------------------------------------------------------
class Base1 {
    };
class Base2 {
  protected:
    void memf(Base1*);
    };

class Derv1:Base1 {
    };
class Derv2:Base2 {
  public:
    Derv2(Derv1& l)     { Base2::memf(         &l); };
    void memf(Derv1& l) { Base2::memf( (Base1*)&l); };
    };
-------------------------------------------------------------------------------
When g++ sees the body of Derv2::Derv2, it should complain that there is no
Base2::memf() function that takes a Derv1* as an argument.  It should have
no problems with the body of Derv2::memf.  Instead I get these messages:
-------------------------------------------------------------------------------
cd /u/gjditchfield/C++/Lists/
g++ -v -c bug.cc
g++ version 1.35.1-
 /usr/local/lib/gcc-cpp -+ -v -undef -D__GNU__ -D__GNUG__ -D__cplusplus -Dvax -Dunix -D__vax__ -D__unix__ bug.cc /tmp/cc017889.cpp
GNU CPP version 1.35.94
 /usr/local/lib/gcc-cc1plus /tmp/cc017889.cpp -quiet -dumpbase bug.cc -noreg -version -o /tmp/cc017889.s
GNU C++ version 1.35.1- (vax) compiled by GNU C version 1.35.
In method void Derv2::memf (struct Derv1 &):
bug.cc:13: type `Derv1' is derived from private `Base1'
In method struct Derv2 *Derv2::Derv2 (struct Derv1 &):
bug.cc:12: type `Derv1' is derived from private `Base1'

Compilation finished at Mon Jul 10 14:00:32
-------------------------------------------------------------------------------
I can't tell what g++ thinks is wrong with lines 12 and 13.

    Glen Ditchfield  gjditchfield@violet.uwaterloo.ca  Office: DC 2517
Dept. of Computer Science, U of Waterloo, Waterloo, Ontario, Canada, N2L 3G1
	"... and the rest, we will spend foolishly!" -- _Svengali_
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads