[comp.lang.c++] member object with a virtual dtor

ahvermeulen@watcgl.waterloo.edu (Al Vermeulen) (07/13/88)

The following piece of code produces this error when I try to compile it:

line 12: internal <<cfront 1.2.1 2/16/87>> error:
		bus error (or something nasty like that)
1 error

Here's the code:

class A {
  public:
    A();
    virtual ~A();
};

class B {
  public:
    A a;
    B();
    ~B() {}
};

The problem seems to occur when cfront attempts to compile the
destructor ~B().  Apparently the presence of a member object with a
virtual descructor is the problem.  Anybody know what's wrong?  Will
this bug be fixed in the next release of cfront?  My current workaround
is to use pointers to members with virtual dtors and initialize and
destroy them explicity. Anybody have a better idea?
-- 

Al Vermeulen (al@watsup, ahvermeulen@watcgl)
al@watsup.waterloo.edu