void* ptr = new void[size];
не Может сделать этого. Зафиксируйте его.
Никогда попытка не перегрузиться новый/удаляющий глобально. Или имейте их в базовом классе и получите все свои объекты из этого класса или используйте пространство имен или шаблонный параметр средства выделения. Да ведь можно спросить. Поскольку в случае, если Ваша программа является больше, чем единственный файл и STL использования или другие библиотеки, Вы собираетесь завинтить.
Вот дистиллированная версия new
оператор от VS2005 new.cpp
:
void * operator new(size_t size) _THROW1(_STD bad_alloc)
{ // try to allocate size bytes
void *p;
while ((p = malloc(size)) == 0)
if (_callnewh(size) == 0)
{ // report no memory
static const std::bad_alloc nomem;
_RAISE(nomem);
}
return (p);
}
В SQL Server Management Studio Express: