Bonjour,
J'ai pour projet de reprendre une section du code d'un collègue qui ne fait plus partie de la société.
Je résume au plus simple :
log.h :
#define _log(section,type,level,msg,args...) if(checklog(section,type,level)) __log_entry(section,type).form(tuxlang[msg].c_str() , ## args)<<endl;
log.cpp :
1 2 3 4
| ostream& __log_entry(int section,int type)
{
return logfile<<tuxdate()<<" "<<tuxhostname<<" ["<<tuxpid<<"] ["<<logsec[section]<<"] "<<logtyp[type]<<" ";
} |
main.cpp
_log(LS_EDI,L_DBG,1,"loadchrst",filename.c_str());
Mon erreur à la compilation sous LINUX avec un GCC 4.6.1 :
main.cpp :
766:3: erreur: 'std::ostream' has no member named 'form'
Mon problème est que je ne vois nulle part la déclaration du membre form de la fonction __log_entry dans log.h et que je ne comprend la déclaration de _log dans log.h avec tous les éléments qui se suivent.
Partager