Your object does not know how to delete itself without making wild assumptions.
The object could exist on the stack or the heap, or could be part of an array etc. Those assumptions will get you into...