What you did was provide an alternate implementation of a function. That is not an override and it is why you get a link error.
The way MFC does this is by redefining new to DEBUG_NEW in every source module and then they provide an implementation of DEBUG_NEW. You need to do something similar. MFC's definition looks like this :
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
so you need to do something like :
#ifdef _DEBUG
#define new MyNew
#endif
and provide a prototype and a definition of that function. You could start with a variation of what you have there :
void* operator MyNew( size_t size )
{
return calloc( 1, size); }