C6516
Aviso C6516: anotação inválida: nenhuma propriedade especificada para o atributo <nome>
Observação |
---|
Esse aviso ocorre apenas no código que é substituído usando uma versão de idioma da anotação do código-fonte SAL ().Recomendamos que você mova seu código para usar a versão mais recente de SAL.Para obter mais informações, consulte Usando anotações de SAL para reduzir defeitos de código do C/C++. |
Esse aviso indica que nenhuma propriedade ou esteve especificada no atributo ou a propriedade especificada for inválido; em virtude disso, o atributo não pode ser considerado completo.
O código a seguir gerenciar esse aviso porque Deref=1 especificar apenas o nível de nomes indiretos, mas essas informações apenas não ajuda a ferramenta de análise:
// C
#include <CodeAnalysis\SourceAnnotations.h>
void f([SA_Pre(Deref=1)] char* pc);
// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f([Pre(Deref=1)] char* pc);
Para corrigir esse aviso, outra propriedade, como o access, é necessária para indicar a ferramenta de análise o que deve ser reforçada nos itens eliminação de referenciados.O código a seguir corrige esse aviso:
// C
#include <CodeAnalysis\SourceAnnotations.h>
void f([SA_Pre(Deref=1, Access=SA_Read)] char* pc);
// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f([Pre(Deref=1, Access=Read)] char* pc);