   c++ new
  is it possible to do something like this?#include <iostream>using namespace std;namespace MyNew{void* operator new(size_t size){cout << "Allocating : "<< size << " bytes/n";void* p = ::operator new(size);//call global new opreturn  p;}}int main(){int* i = MyNew::operator new int();//call my new opgetchar(); }//errorsError1error C2440: 'initializing' : cannot convert from 'void *(__cdecl *)(size_t)' to 'int *'Error2error C2144: syntax error : 'int' should be preceded by ';'
  A working call would look like this:int* i = (int*)MyNew::operator new(sizeof(int));//call my new opBut if you are willing to go to these lengths, why not so:#include <iostream>template <class T>T* MyNew(const T& t = T()){    std::cout << "Allocating : "<< sizeof(T) << " bytes\n";    return new T(t);}int main(){    int* i = MyNew<int>();}