advertencia: statement implícita de función

Estoy progtwigndo en C y mi comstackdor gcc me da la siguiente advertencia en mi llamada de función en mySedondFile.c:

 implicit declaration of function 'func' 

La función prototipo se declara en myfile.h como:

 void func(char*); 

La definición de la función está en myfile.c

 void func(char*x); 

mySecondFile.c contiene:

 #include "myfile.h" func("Hello"); 

Me estoy perdiendo por qué esto se quejaría.

Ese error se emite porque la func no se ha declarado en el punto en el que lo llama.

Parece que sus archivos de cabecera no son exactamente como los describe. Quizás haya algún código condicional. Tal vez usted tiene un protector de cabecera que no funciona bien. Otra posibilidad es que haya recibido un error de mayúscula y haya declarado la función Func pero la haya llamado con func . Es muy difícil decirlo sin ver los archivos reales, pero debe buscar una razón por la que func no esté declarada en la unidad de traducción mySecondFile.c .

Para ilustrar esto un poco más claro, el siguiente código:

 int main(void) { func("Hello"); return 0; } 

resulta en esta advertencia:

 prog.c: In function 'main': prog.c:3: warning: implicit declaration of function 'func' 

que es exactamente como informe

Según su descripción, su código incluye un archivo de encabezado que declara func . El comstackdor empieza a diferir contigo y te queda por averiguar por qué no se declara func .