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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
#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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
ostream& __log_entry(int section,int type)
{
        return logfile<<tuxdate()<<" "<<tuxhostname<<" ["<<tuxpid<<"] ["<<logsec[section]<<"] "<<logtyp[type]<<" ";
}
main.cpp

Code : Sélectionner tout - Visualiser dans une fenêtre à part
  _log(LS_EDI,L_DBG,1,"loadchrst",filename.c_str());
Mon erreur à la compilation sous LINUX avec un GCC 4.6.1 :

main.cpp :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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.