Compiler Error C2262

'identifier' : cannot be destroyed

The specified identifier was not instantiated because an appropriate destructor was defined but not accessible.

The following is an example of this error:

class B
{
   ~B();
};
class D : public B {};
D d;         // error, B's destructor is private