Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
On 02/05/2018 at 12:47, xxxxxxxx wrote:
User Information: Cinema 4D Version: R19 Platform: Windows ; Mac ; Mac OSX ; Language(s) :
--------- H!
Is it safe to do this...?
PolygonObject* polygon = PolygonObject::Alloc( pointCount, polygonCount ); // Fill polygon BaseObject* baseObject = static_cast<BaseObject *>( polygon ); BaseObject::Free( baseObject );
On 02/05/2018 at 20:13, xxxxxxxx wrote:
I think it may be the same, both ::Free calls do the exact same function (if you look at the definition).
void PolygonObject::Free(PolygonObject*& bl) { C4DOS.Bl->Free(bl); bl = nullptr; } void BaseObject::Free(BaseObject*& bl) { C4DOS.Bl->Free(bl); bl = nullptr; }
and the Free function is a library function declared as:
void (*Free)(C4DAtom *at);
On 04/05/2018 at 13:55, xxxxxxxx wrote:
Hi rsodre, i confirm that, although not representing an ordinary approach, you can safely use the parent's Free method to destroy a derived class.
Best, Riccardo
On 04/05/2018 at 16:36, xxxxxxxx wrote:
Nice, thanks!