C28252

avertissement C28252 : annotation incohérente pour la fonction : le paramètre a une autre annotation sur cette instance

Cet avertissement fait référence à une erreur dans l'annotation et reflète la condition que les annotations au niveau d'une déclaration de fonction doivent correspondre à celles de la définition, sauf si une fonction typedef est impliquéeDans ce cas, la fonction typedef est concidéré comme définitive pour la déclaration et la définition.

Notez que les annotations sont généralement implémentées comme des macros, et une macro rapportera généralement plusieurs annotations de bas niveau.Cet avertissement est signalé pour chaque annotation de bas niveau non correspondante, une seule macro d'annotations non correspondante, peut produire un nombre d'annotations de bas niveau non correspondant.Il est préférable de comparer seulement le code source de déclaration et de définition pour s'assurer qu'elles sont identiques.(Les différences insignifiantes dans l'ordre des annotations ne sont pas reportés.)

La comparaison est toujours entre la première déclaration trouvée et l'actuelle.Si il y a des déclarations supplémentaires, chaque déclaration est vérifiée par groupe de deux.Il n'est actuellement pas possible d'effectuer une comparaison autre que par paires, bien qu'il soit possible de l'identifier qu'il y a plus de deux déclarations/définitions.Le message d'erreur contient une liste d'annotations qui diffèrent (à un niveau assez bas) entre les deux instances.

Ce message d'avertissement affiche le texte du code sous-jacent envoyé au compilateur, et non des macros qui sont utilisées pour insérer réellement l'annotation de code source (comme c'est le cas chaque fois que les macros sont utilisées).En général vous n'avez pas besoin de comprendre les annotations de bas niveau, mais vous devez reconnaitres que les annotations sont signalées omme incohérentes avec les numéros de ligne reporté dans le message d'erreur.Essentiellement, une inspection de code source indiquera clairement pourquoi l'incohérence existe.