Compartir a través de


C28250

advertencia C28250: Anotación incoherente para la función: la instancia anterior tiene un error.

Nota: hay varios prototipos para esta función.Esta advertencia compara el primer prototipo con la instancia número <number>.

Si una declaración se hace utilizando un typedef, la línea donde aparece typedef es más útil que la línea de declaración.

Esta advertencia hace referencia a un error en la anotación y refleja el requisito de que las anotaciones en una declaración de función deben coincidir con las de la definición, a menos que una función typedef esté involucrada.En ese caso, la función typedef se toma como definitiva para la declaración y la definición.

Observe que las anotaciones se implementan normalmente como macros y una macro producirá normalmente varias anotaciones de bajo nivel.Esta advertencia se muestra para cada anotación de bajo nivel, por lo que una sola macro de anotación no coincidente puede producir varias anotaciones de bajo nivel no coincidentes.Es mejor comparar simplemente el código fuente de la declaración y la definición para asegurarse de que son iguales.(Las diferencias triviales en el orden de las anotaciones no se informan.)

La comparación siempre se da entre la primera declaración encontrada y la actual.Si hay declaraciones adicionales, cada declaración se comprueba en pares.No es posible actualmente realizar una comparación que no sea en pares, aunque es posible identificar que hay más de dos declaraciones y definiciones.El campo texto anterior contiene una lista de anotaciones que difieren (en un nivel bajo) entre las dos instancias.

Este mensaje de advertencia muestra el texto de código subyacente enviado al compilador y no las macros que se utilizan para insertar realmente la anotación del código fuente (como es el caso siempre que se utilizan macros).Generalmente no se necesita comprender las anotaciones de bajo nivel, pero se debe tener en cuenta que las anotaciones están designadas como incoherentes entre los números de línea indicada en el mensaje de error.Principalmente, un examen del código fuente clarificará por qué existe la inconsistencia.