¿Por qué puedo crear un objeto de una clase con un destructor privado en la tienda gratuita pero no en la pila?Destructor privado
Por ejemplo, esto es ilegal:
class Foo
{
public:
explicit Foo(int);
static void delete_foo(Foo* foo) { delete foo; }
private:
int x;
~Foo();
Foo(const Foo&);
Foo& operator=(const Foo&);
};
int main()
{
Foo * fooptr = new Foo(5); // legal
Foo::delete_foo(fooptr); // legal
Foo foo(5); // illegal
}
¿Podría proporcionarnos un ejemplo de código breve para la ilustración? – sharptooth
Puedo hacer eso por usted – CashCow