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




_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to