[Example 1: struct C {};
void f(){
C * pc =new C;
using C2 = C;
pc->C::~C2(); // OK, destroys *pc
C().C::~C(); // undefined behavior: temporary of type C destroyed twiceusing T =int;
0.T::~T(); // OK, no effect0.T::~T(); // error: 0.T is a user-defined-floating-point-literal ([lex.ext])} — end example]