Bonjour !

Je cherche à définir les opérateurs new et delete dans un namespace afin d'avoir la possibilité d'appeler le new prédéfini ou le new défini dans mon namespace.
Malheureusement, cela ne compile pas :
---------------------------------------------------------------------------
line 9: cc0732: error:
allocation operator may not be declared in a namespace
void* operator new (size_t size);
---------------------------------------------------------------------------
Quelqu'un a une idée ??!!!!

voici le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#ifndef _CUSTOM_BASE_TYPE_NEW_H
#define _CUSTOM_BASE_TYPE_NEW_H
 
#include <cstdlib>
namespace CustomBaseTypeNew
{ 
  void* operator new (size_t  size)
  {
   void *p=malloc(size);
   if (p!=0)
   {
     return p;
   }
    else return NULL;
  }
 
  void operator delete (void *p)
  {	
    free(p); 
  }  
}
 
#endif //_CUSTOM_BASE_TYPE_NEW_H
Merci !


[Balises CODE rajoutées par Loulou24, merci d'y penser à l'avenir]