Compiler Error C2811

too many formal parameters for based form of 'operator delete'

There were too many formal parameters for the operator delete for based pointers.

When used on based pointers, the operator delete takes either two or three actual parameters.

The following are the prototypes for the based form of the operator delete:

void operator delete( __segment, void __based( void ) * );
operator delete( __segment, void __based( void ) *, unsigned int );