Re: Segfault with delete[] operator & virtually derived classes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



lrtaylor@xxxxxxxxxx wrote:
you asked for an array of Bs, if you're not treating it as an array of
Bs it's not gonna work.


Why not?  If B is derived from A, there should be nothing wrong with
storing pointers to B in an array of A pointers.  Although, it seems
that A and B would need to have virtual destructors.  I didn't read the
earlier part of the thread, so I don't know if that is the case here...

You are correct wrt an array of POINTERS to object (hence my original suggestion to use just such an array). The question was about an array of OBJECTS.

...you're lying to the compiler, and then kludging around the issue.


So, if B is derived from A and I do

A* a = new B;

am I lying to the compiler?  That's what inheritance and polymorphism is
all about!
correct, but this is not what was being discussed.

the code was
	A *ary = new B[10];

which is significantly different.

nathan
--
Nathan Sidwell    ::   http://www.codesourcery.com   ::     CodeSourcery LLC
nathan@xxxxxxxxxxxxxxxx    ::     http://www.planetfall.pwp.blueyonder.co.uk


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux