error: tipos en conflicto por motivos de error y soluciones

Razón uno

No hay declaración de función y la función se define después de la función principal

Porque dos

Los archivos de encabezado se referencian cíclicamente, considere el orden de inclusión
o uso

#ifndef CAPITAL_FILENAME
#define CAPITAL_FILENAME

// main body

#endif /* CAPITAL_FILENAME */

Razón tres

La declaración de función del archivo de encabezado y los parámetros de definición de función son diferentes, como

El archivo de encabezado declara prueba vacía (const char * buf), pero está escrito como prueba vacía (char * buf);

Razón cuatro

El tipo de parámetro utilizado por la función es un tipo personalizado (como una estructura), y la definición de un tipo personalizado está entre la declaración de la función y la definición de la función, porque en la declaración de la función, la estructura no

No está definida y no es reconocida como una estructura por el sistema. Cuando la función se define posteriormente, la estructura ya está definida y el sistema la reconoce como una estructura, lo que hace que el sistema piense que la declaración y la definición utilizan parámetros diferentes tipos, por lo tanto, el problema anterior;

Razón 5

En Linux, al compilar el archivo de encabezado, aparecerá un archivo intermedio precompilado (.h.gch). Cuando el archivo completo se compila nuevamente, si el archivo (.h.gch) existe, el archivo (.h) utilizar directamente .gch) en lugar de compilar el archivo .h. En este momento, si cambia el archivo .h y continúa compilando, se producirán inconsistencias entre la declaración y la definición. Aunque la declaración y la definición son coherentes en el archivo, pero de hecho, el sistema no usa el archivo (.h) que cambió al compilar, sino que usa directamente el archivo .h.gch que compiló antes de la modificación (este error generalmente es difícil de encontrar, si lo encuentra en su propio directorio. El archivo h.gch debe actualizarse a tiempo).

Referencia

https://blog.51cto.com/10901086/1903340

Supongo que te gusta

Origin blog.csdn.net/weixin_39591031/article/details/112824488
Recomendado
Clasificación