Duplicar posibles:
Problem compiling K&R examplepuntero advertencia de coincidencia de tipos en el ejemplo de K & R C
Últimamente he estado trabajando mi camino a través del lenguaje de programación C por K & R.
En la sección 5.11 cubren los punteros a las funciones y luego de escribir en su ejemplo: una implementación de quicksort donde proporcionamos un puntero al compás función hijo que queremos usar - Recibo una advertencia del compilador: el tipo de puntero no coincide en la expresión condicional. (Mi compilador gcc 4.0.1 es en OS X 10.5.6)
La línea del ejemplo que desencadena la alerta es:
qsort((void **) lineptr, 0, nlines-1,
(int (*)(void*, void*))(numeric ? numcmp : strcmp));
El programa se ejecuta sin violación de segmento, pero me gusta smoosh todas las advertencias Puedo, o al menos comprender sus causas.
La declaración de la función de numcmp parece:
int numcmp(char *, char *);
Pero de acuerdo con la página de manual, stcmp tiene esta firma:
int strcmp(const char *s1, const char *s2);
es la advertencia sencilla debido a las diferentes firmas de métodos poco? ¿Cuáles son las consecuencias de ignorar la advertencia?
Eddie señaló una tontería. Voté para cerrar mi propia pregunta, pero pensé que habría una forma en que el propietario podría cerrarla sumariamente. – Dana
Dana, consulte [Ejemplo de compilación del ejemplo de K & R] (http://stackoverflow.com/questions/616906/problem-compiling-kr-example/616929) y probablemente encontrará la respuesta a su pregunta allí. Háganos saber si no lo hace. – Eddie