在下面的代码中,怎么可能允许使用私有析构函数删除对象?我已将实际程序简化为以下示例,但它仍然可以编译和工作。
class SomeClass;
int main(int argc, char *argv[])
{
SomeClass* boo = 0; // in real program it will be valid pointer
delete boo; // how it can work?
return -1;
}
class SomeClass
{
private:
~SomeClass() {}; // ! private destructor !
};