🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.g++.bug
Article #418

multiple-inheritance error message bug

#418
From: klotz
Date: Thu, 14 Sep 1989 01:01
40 lines
1202 bytes
In g++ 

The message
    % g++ mu.cc -o mu
    In function int main ():
    mu.cc:25: member `top' belongs to MI-distinct base classes `report'

Shouldn't this message be the other way around, since "top" is a class
and "report" is a member?  Also, it took me a while to figure out out that
"MI" means "multiple-inheritance," but I'm still not sure exactly what
"MI-distinct" means.  (I do understand the error itself -- in fact, I was
trying what would happen.)

Leigh.

#include <stdio.h>

struct top {
  int a = 0;
  virtual int report() { return a; };
};

struct top_left : public top {
  int a = 1;
};

struct top_right : public top {
  int a = 2;
};

struct bottom : public top_left, public top_right {
  int b;
};

main()
{
  bottom x;
  
  printf("%d\n", x.report());
}
Technical Details
Message-ID: <8909140101.AA00836@fast.parc.xerox.com>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!parc.xerox.com!klotz

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!parc.xerox.com!klotz
From: klotz@parc.xerox.com
Newsgroups: gnu.g++.bug
Subject: multiple-inheritance error message bug
Message-ID: <8909140101.AA00836@fast.parc.xerox.com>
Date: 14 Sep 89 01:01:36 GMT
Sender: daemon@tut.cis.ohio-state.edu
Distribution: gnu
Organization: GNUs Not Usenet
Lines: 40