|
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