Compartilhar via


C28252

Aviso C28252: Anotação inconsistente para a função: o parâmetro tem outra anotação nessa instância.

Esse aviso refere-se a um erro na anotação e reflete o requisito de que as anotações em uma declaração da função devem corresponder a aqueles na definição, exceto se uma função typedef é envolvida.Nesse caso, a função typedef é executada como definitiva da declaração e a definição.

Observe que as anotações são implementadas como macros e geralmente, uma macro sem geralmente várias anotações de baixo nível.Esse aviso é relatado para cada anotação de baixo nível ímpar, assim que um único macro ímpar da anotação pode gerar um número de anotações de baixo nível não correspondentes.É melhor comparar somente o código-fonte de declaração e de definição para garantir que são iguais. (Triviais as diferenças na ordem das anotações não são relatadas.)

A comparação estará sempre entre a primeira instrução atual e encontrada.Se houver instruções adicionais, cada declaração é verificados em grupos de dois.Não atualmente é possível fazer uma comparação diferente em pares, embora seja possível identificar qual há mais de duas instruções/definições. A mensagem de erro contém uma lista de anotações que diferem (em um razoavelmente de nível baixo) entre as duas instâncias.

Exibe que essa mensagem de aviso o texto do código subjacente enviados ao compilador, e não as macros que são usados para inserir na verdade a anotação na origem (como os casos são sempre que as macros são usados).Em geral, você não precisa entender as anotações de nível baixo, mas você deve reconhecer que as anotações estão sendo relatadas como inconsistentes entre números de linha relatados na mensagem de erro.Na maior parte, uma inspeção do código-fonte fá-lo-á claro porque a inconsistência existe.