#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 ;
}
compilar en g ++ 4.1.2 20070115 (SUSE 10): No cuestiónerror de compilación en g ++ 4.3.4 compilador
compilar en g ++ 4.3.4 (SUSE 11) da error siguiente
nomArchivo : 9: error: declaración de char * basename (const char *) arroja una excepción diferente
fileName: 3: error: de la declaración anterior char * basename (const char *) throw().
Amablemente dime por qué está sucediendo esto, ¿Hay alguna interfaz cambiada en g ++ entre estas dos versiones (si elimino la inclusión de string.h luego el éxito de la compilación en ambas versiones de g ++, es cualquier cambio de interfaz en string.h)
Sí, en GCC es visto 4.4.3 de error más detallado indicando: /usr/include/string.h:601: Error: ambiguates antigua declaración 'const char * basename (const char *) ' –