Déclaration implicite d’une fonction

Je suis sous Linux et gcc 4.2.3.

Pour la partie de code ci-dessous, la fonction lp_parm_talloc_ssortingng est appelée implicitement puis définie:

char *lp_parm_ssortingng(const char *servicename, const char *type, const char *option) { return lp_parm_talloc_ssortingng(lp_servicenumber(servicename), type, option, NULL); } /* Return paramesortingc option from a given service. Type is a part of option before ':' */ /* Paramesortingc option has following syntax: 'Type: option = value' */ /* the returned value is talloced in lp_talloc */ char *lp_parm_talloc_ssortingng(int snum, const char *type, const char *option, const char *def) { param_opt_struct *data = get_paramesortingcs(snum, type, option); if (data == NULL||data->value==NULL) { if (def) { return lp_ssortingng(def); } else { return NULL; } } return lp_ssortingng(data->value); } 

Pour cette partie, l’erreur ci-dessous apparaît:

 param/loadparm.c:2236: error: conflicting types for 'lp_parm_talloc_ssortingng' param/loadparm.c:2229: error: previous implicit declaration of 'lp_parm_talloc_ssortingng' was here 

Comment dire au compilateur de permettre un tel cas?