Boost logo

Boost :

From: Philippe A. Bouchard (philippeb_at_[hidden])
Date: 2003-02-11 23:47:25


Jon Kalb wrote:

[...]

> If a user attempts to use this on a non-polymorphic object, will they
> get a compile time error or run-time error?

No compile-time error, but a run-time error may occur if multiple
inheritance is used. There is basically nothing we can do in this
situation:

class A { char c; };

class B { char c; };

class C : public A, public B { char c; };

C * pC = new C; // Let's say pC == 0x8000

B * pB = pC; // pB == 0x8001

pick_of(pB) will return 0x8001. It is similar to a "delete pB" attempt.

Philippe A. Bouchard


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk