Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

224
Vistas
gcc/clang: error: conflicting types for <function_name>: why function name matters?

Sample code (t987.c):

void *NAME();
void *NAME(void *, int, unsigned);

Invocation:

$ gcc t987.c -c -DNAME=memset1
<nothing>

$ gcc t987.c -c -DNAME=memset
<command-line>: error: conflicting types for ‘memset’; have ‘void *(void *, int,  unsigned int)’
t987.c:2:7: note: in expansion of macro ‘NAME’
    2 | void *NAME(void *, int, unsigned);
      |       ^~~~
<command-line>: note: previous declaration of ‘memset’ with type ‘void *(void *, int,  long unsigned int)’
t987.c:1:7: note: in expansion of macro ‘NAME’
    1 | void *NAME();

# clang: the same behavior

Question: why function name matters?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

There's no other definition or declaration for memset1. So these two declarations are compatible:

void *memset1();
void *memset1(void *, int, unsigned);

Because the first one says the number and type of parameters is unknown.

This however gives you a problem:

void *memset();
void *memset(void *, int, unsigned);

Because memset is defined by the C standard and therefore considered part of the implementation, it is also internaly declared as:

void *memset(void *, int,  long unsigned int)

Which conflicts with your second declaration.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda