1 // Origin: Alexander Schiemann (aschiem@count.math.uni-sb.de) 2 3 typedef __SIZE_TYPE__ size_t; 4 5 int i; 6 7 struct B{}; 8 9 struct A{ 10 newA11 static void* operator new(size_t) 12 {return &i;} 13 14 inline static void operator delete(void*p); 15 deleteA16 static void operator delete(void*, const B&){} 17 18 }; 19 20 delete(void * p)21inline void A::operator delete(void*p) 22 {A::operator delete(p,B());} 23 24 main()25int main() 26 {A *ap=new A; 27 delete ap;} 28