Pour faire un petit test d'utilisation de set_new_handler, j'ai le programme suivant :
#include <new>
#include <stdlib.h>
#include
using namespace std;
main()
{ void deborde();
set_new_handler (&deborde);
long taille;
int *tableau;
int nbbloc;
cout << "taille souhaitée";
cin >> taille;
for (nbbloc=1;;nbbloc++)
{ tableau =new int[taille];
cout << "Allocation :" << nbbloc << "\n";
}
}
void deborde ()
{
cout << "Memoire insuffisante - arret \n";
exit(-1);
}
Malheureusement à l'execution, j'ai le message :
Assertion failed : new_p == 0, file setnewh.cpp, line 52.
Que se passe-t-il ?