-----Original Message-----
al said:
hi all
what does the phrase: "scalar deleting destructor" mean?
i'm getting this in a debug error message using c++ 7.1
It's the name that's reported for a helper function that VC writes for every
class with a destructor. The "scalar deleting destructor" for class A is
roughly equivalent to:
void scalar_deleting_destructor(A* pa)
{
pa->~A();
A:
perator delete(pa);
}
There's a sister function that's also generated, which is called the 'vector
deleting destructor'. It looks roughly like:
void vector_deleting_destructor(A* pa, size_t count)
{
for (size_t i = 0; i < count; ++i)
pa
.~A();
A:perator delete[](pa);
}
When you write
A* pa;
// ...
delete pa;
The compiler generates a call to the "scalar deleting destructor" for A. An
analogous case applies to deleting an array.
HTH
-cd
.