Estoy haciendo un pequeño buscador de pérdida de memoria en mi programa, pero mi forma de sobrecargar nueva y eliminar (y también nueva [] y eliminar []) parece que no hace nada.sobrecarga nueva/eliminar
void* operator new (unsigned int size, const char* filename, int line)
{
void* ptr = new void[size];
memleakfinder.AddTrack(ptr,size,filename,line);
return ptr;
}
La forma I sobrecargado new
se muestra en el fragmento de código de seguridad. Supongo que es algo con el operador volviendo vacío * pero no sé qué hacer al respecto.
"no parece hacer nada": ¿qué quieres decir? Sobrecargó el operador, pero no ha * reemplazado * el operador predeterminado nuevo, por lo que "nueva x" llama a la nueva predeterminada mientras que "nuevo (nombre de archivo, línea) x" llama a su versión sobrecargada. –