M
maynard
I have defined a template class (tree data structure) that uses dynamic
memory and has properly implemented ctor's, dtor and assignment
operator. I can observe the address of my tree object prior to the
destructor being called, and then the address once inside the
destructor...they're different! The following calls are on the stack
between the call to my destructor and the actual destructor itself:
`eh vector destructor iterator'(void * ptr=0x00a6c454, ...)
`vector deleting destructor'()
I've also noticed that the address passed as "ptr" in the "eh vector
destructor iterator" is the address that my tree object has once inside
the destructor (again...it's not the same address prior to the
destructor being called). This is causing a run time exception (the
passed address points somewhere that isn't initialized to anything).
What exactly do the above methods do? BTW, I'm debugging with MS VC++
..NET.
memory and has properly implemented ctor's, dtor and assignment
operator. I can observe the address of my tree object prior to the
destructor being called, and then the address once inside the
destructor...they're different! The following calls are on the stack
between the call to my destructor and the actual destructor itself:
`eh vector destructor iterator'(void * ptr=0x00a6c454, ...)
`vector deleting destructor'()
I've also noticed that the address passed as "ptr" in the "eh vector
destructor iterator" is the address that my tree object has once inside
the destructor (again...it's not the same address prior to the
destructor being called). This is causing a run time exception (the
passed address points somewhere that isn't initialized to anything).
What exactly do the above methods do? BTW, I'm debugging with MS VC++
..NET.