En el lenguaje de programación C, un común error El mensaje que los desarrolladores encuentran es el "Tipos conflictivos para la función" error. Este error El mensaje surge cuando el compilador detecta dos tipos diferentes de datos asociados con una sola función. Este artículo discute qué causa esto error y cómo abordarlo.
Error de "tipos conflictivos para la función"
Cuando declaramos una función en C, debe coincidir con el tipo de definición de función. Por ejemplo, si definimos una función para devolver un entero, la declaración también debe definir la función para devolver un entero. Si los tipos de definición y la declaración no coinciden, el "Tipos conflictivos para la función" error es arrojado por el compilador C.
Razones por las cuales se produce este error
Hay varias razones para ello Tipos contradictorios para funciones puede ocurrir.
1: Tipos de datos no coincidentes
La primera razón es que los tipos de datos pueden no coincidir entre la llamada de función y la definición de función. Por ejemplo, si definimos una función para devolver un flotador y luego intentamos llamar a una función con la expectativa de un entero, el compilador detectará un conflicto en los tipos.
2: Prototipo de función definido erróneamente
Otra razón para el conflicto es que el prototipo de función no está definido o declarado correctamente. Los tipos de parámetros que recibe una función y los tipos de valores que devuelve se declaran en un prototipo de función. Si el prototipo no coincide con la definición, el error sería arrojado.
3: Error de escritura
Finalmente, el Error de "tipos conflictivos para la función" El mensaje también puede ocurrir debido a un simple error de tipificación, como un nombre de la función mal escrito, una semicolon faltante o un paréntesis de cierre faltante. Por lo tanto, es importante verificar los errores de sintaxis cuando obtenemos esto error mensaje.
Aquí está el código de muestra que genera el "Tipo conflictivo para la función" Error en C.
#incluirEn el código anterior, el tipo de argumentos en la declaración de función 'promedio ()' es int, mientras que en el momento de definir el promedio de la función, estamos utilizando los tipos de datos flotando para los argumentos de la función. Como los tipos de parámetros de función son diferentes para declarar y definir la misma función, obtenemos el error "Tipos conflictivos para 'promedio'".
Producción
Código corregido
Para corregir el error, Necesitamos verificar que los tipos de argumentos para declarar y definir las funciones sean los mismos.
#incluirEn el código anterior, estamos utilizando los mismos tipos de parámetros para ambos, la definición y la declaración de la función. Por lo tanto, nos da la salida, yo.mi., el promedio de ambos valores.
Producción
Conclusión
"Tipos conflictivos para la función" El mensaje de error en C aparece cuando hay una falta de coincidencia entre el prototipo de función y su definición, así como cuando el tipo de valor devuelto por la función no es consistente entre los dos. Para resolver esto error, Debemos asegurarnos de que tanto el prototipo de la función como su definición sean consistentes en términos del número, el orden y los tipos de argumentos aceptados y el tipo de valor devuelto. También debemos verificar la sintaxis simple errores Cuando encontramos esto error mensaje para evitar la frustración innecesaria.