#include <new> | |
int i; | |
extern "C" void printf(const char*, ...); | |
template <class T, class U> | |
struct map { | |
~map (); | |
}; | |
template <class T, class U> | |
map<T, U>::~map () | |
{} | |
struct SomeClass { }; | |
void* operator new(size_t numBytes, SomeClass&, const nothrow_t&) throw() | |
{ | |
return operator new(numBytes, nothrow); | |
} | |
void operator delete(void* pMemory, SomeClass&, const nothrow_t&) throw() | |
{ | |
i = 7; | |
return operator delete(pMemory); | |
} | |
int | |
main() | |
{ | |
map< int, int>* pMap = new map< int, int>; | |
delete pMap; | |
if (i == 7) | |
return 1; | |
} |