On Sat, Mar 05, 2005 at 09:00:38AM -0500, Michael N. Moran wrote: > In embedded system work, and I'm sure in other circumstances, > it is the case that "placement new" is the norm and destructors > invoked explicitly (never on an abstract reference,) and the > delete operator goes unused.
I should never have just said "add a virtual dtor" without qualification :) I assume in specialised domains where you have to know what you're doing you will also know whether a virtual dtor is appropriate (and can use -Wno-non-virtual-dtor to suppress the warning). If you're not sure who might use the class and what they'll do, you have to be more careful. I was too quick to suggest adding the virtual dtor, clear documentation that says "don't use delete with this type" might do the job equally well - the important thing is to prevent the problem happening. jon -- Message terminated with signal 11, SIGFAULT