Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

215
Views
gcc/clang: error: tipos en conflicto para <nombre_de_la_función>: ¿por qué es importante el nombre de la función?

Código de muestra (t987.c):

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

Invocación:

 $ 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

Pregunta: ¿por qué es importante el nombre de la función?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

No hay otra definición o declaración para memset1 . Así que estas dos declaraciones son compatibles:

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

Porque el primero dice que se desconoce el número y tipo de parámetros.

Sin embargo, esto te da un problema:

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

Debido a que memset está definido por el estándar C y, por lo tanto, se considera parte de la implementación, también se declara internamente como:

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

Lo cual entra en conflicto con su segunda declaración.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!