...
In this noncompliant code example, the the global new operator is overridden by a class-specific implementation of operator new(). When new is called, the class-specific override is selected, and so S::operator new() is called. However, because the object is destroyed with a scoped ::delete operator, the global operator delete() function is called instead of the class-specific implementation S::operator delete(), resulting in undefined behavior.
...