#include <iostream>
#include <string.h>
char* basename(const char* filname);
int main()
{
return 0;
}
char *basename(const char* filename)
{
char* base = (char *)filename;
return base ;
}
compilazione on g ++ 4.1.2 20.070.115 (SUSE 10): Nessun problemaErrore di compilazione in g ++ 4.3.4 compilatore
compilazione on g ++ 4.3.4 (SUSE 11) dà seguente errore
nomeFile : 9: errore: dichiarazione di char * basename (const char *) genera diversa eccezione
fileName: 3: errore: dalla precedente dichiarazione char * basename (const char *) throw().
Gentilmente dimmi perché questo sta succedendo, c'è qualche interfaccia modificata in g ++ tra queste due versioni (se rimuovo l'inclusione di string.h allora la compilazione ha esito positivo su entrambe le versioni di g ++, C'è qualche modifica di interfaccia in string.h).
Sì, il gcc 4.4.3 errore più dettagliato è visto affermando: /usr/include/string.h:601: errore: ambiguates vecchia dichiarazione 'const char * basename (const char *) ' –