Problème de compréhension sur déclaration et utilisation d'une fonction.
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:
#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:
1 2 3 4
| ostream& __log_entry(int section,int type)
{
return logfile<<tuxdate()<<" "<<tuxhostname<<" ["<<tuxpid<<"] ["<<logsec[section]<<"] "<<logtyp[type]<<" ";
} |
main.cpp
Code:
_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:
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.