[K42-discussion] virtual destructors
Donour Sizemore
donour at cs.unm.edu
Sat Jul 8 03:41:22 EST 2006
Patrick G. Bridges wrote:
> On Jul 6, 2006, at 4:49 PM, Andrew Baumann wrote:
>
>
>> On Friday 07 July 2006 06:15, Donour Sizemore wrote:
>>
>>> When compiling the above example, a strange symbol is being
>>> referenced
>>> (_ZdlPv) but isn't defined and I can't figure out what it is or
>>> where it
>>> comes from. It doesn't appear to be a mangled version of anything I
>>> recognize. Does anybody have an idea what could be happening here?
>>>
>> Actually, it is something mangled:
>>
>> $ c++filt _ZdlPv
>> operator delete(void*)
>>
>> Googling for _ZdlPv is informative... apparently a call to this
>> symbol is
>> emitted when you do a delete(void *), and it should be part of the
>> standard
>> libraries.
>>
>> Andrew [still learning something new about C++ every day]
>>
>
> The DEFINE_NEW macro in AllocPool.C looks like it only defines
> operator delete(void *, uval size), note operator delete(void *). Is
> simply adding this operator the appropriate solution, or is something
> more general needed?
>
That doesn't appear to work in this case. More specifically, even adding
an operator delete(void*) to that macro, the symbol still doesn't get
defined.
donour
More information about the K42-discussion
mailing list