'identifier' : unexpected to the right of 'name'
A destructor is called using an incorrect identifier.
Example
class A {}; typedef A* pA_t; int i; void f() { pA_t *ppa = new pA_t; ppa->~i; // error }