Compiler Error C2816

alternative form of 'operator delete' must be a member

The two-parameter form of the operator delete can be redefined only within a class, structure, or union. Global redefinitions of operator delete are allowed to have only one parameter.