Je fais un peu de recherche de fuite de mémoire dans mon programme, mais ma façon de surcharger nouveau et supprimer (et aussi nouveau [] et supprimer []) ne semble pas faire quoi que ce soit.surcharger nouveau/supprimer
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 façon dont je surchargée new
est représentée dans l'extrait de code ci-dessus. Je suppose que c'est quelque chose avec l'opérateur qui retourne le vide * mais je ne sais pas quoi faire à ce sujet.
"ne semble rien faire": que voulez-vous dire? Vous avez surchargé l'opérateur, mais vous n'avez pas * remplacé * l'opérateur par défaut new, donc "new x" appelle le nouveau par défaut alors que "new (filename, line) x" appelle votre version surchargée. –