[ERROR]
This call to the destructor would require the destructor to be static. But destructors are never static.
class A {
public:
~A();
A();
};
void main() {
A::~A(); // error
A::A(); // ok, generating temporary object
}
Do not make calls to static destructors, because there are no static destructors.