 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Roger That Guest
|
Posted: Tue Aug 16, 2005 8:33 am Post subject: Surcharge |
|
|
Bonjour,
Je suis en train écrire un système de trace pour mon programme (comme
"je suis entré dans telle fonction" et "j'en sors"). Les lignes de
traces doivent être les plus concises possibles.
Je voudrais tracer des infos en fonction du contexte, qui peut-être (par
exemple):
- un objet "Config"
- un objet "SessionUtilisateur"
- rien
Je pensais donc à une macro du style:
TRACE_FONCTION(pconfig, psession);
cette macro faisant:
ScopeTraceFunction obj(pconfig, psession);
Comme ça quand on quitte la fonction (exception, return) on a toujours
la trace de sortie. Les pointeurs peuvent être NULL si on n'a pas
d'objet dans le contexte.
Je me suis dit "et si je virais un paramètre" en faisant un constructeur
avec un "Config*" et un constructeur avec un "Session*". Le problème
c'est que si on passe NULL, alors le compilateur ne sait pas quel
constructeur appeler. J'ai pensé à rajouter un constructeur prenant un
"int", mais GCC me donne un warning et je ne suis pas sûr que ça soit
bon (c'est peut-être un coup de bol que ça marche).
Je voudrais donc savoir, en général, si on a:
void ma_fonction(Truc *ptruc);
void ma_fonction(int value);
ça ne pose pas de problème.
Merci de votre attention
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|