Voici mon probl�me:

comme tout progammeur qui se respecte, moins j'�cris de code et plus je suis content (�a n'engage que moi...)

Je m'explique: je d�veloppe un logiciel et pour g�rer les erreurs, j'aimerais red�finir des fonctions et des op�rateurs. Exemple:

pour la fonction strcat, j'aimerais utiliser la version de mon compilateur en mode release et une version personnalis�e en mode debug.

mode release: strcat(tab1, tab2);

mode debug: static char* strcat(char*, const char*);
strcat(tab1, tab2);

Cette solution fonctionne sauf que le souci c'est que en mode debug, la fonction strcat personnalis�e devrait prendre un nombre de param�tres diff�rents:

strcat(tab1, tab2, sizeof(tab1), sizeof(tab2), _LINE_, _FILE_);

C'est possible avec une surcharge mais �a m'obligerai � �crire � chaque fois dans mon programme:

#ifdefine _DEBUG
strcat(tab1, tab2, sizeof(tab1), sizeof(tab2), _LINE_, _FILE_);
#else
strcat(tab1, tab2);

sauf que j'aimerais �crire uniquement strcat(tab1, tab2); dans tout le programme.

Est-ce qu'avec un #define ou une macro, ce serait possible?

M�me chose pour l'op�rateur new:

mode debug: pointeur = new (TypePointeur, _LINE_, _FILE_);

mode release: pointeur = new (TypePointeur);

Actuellement j'exp�rimente des solutions, mais votre aide ne sera pas de refus, merci.