Compartilhar via


C6506

Aviso C6506: anotação inválido: <name> propriedade só pode ser usada nos valores de ponteiro ou tipos de matriz

Este aviso indica que uma propriedade é usada em um tipo diferente de tipos de ponteiro ou matriz. O acesso, Tainted e propriedades válidas podem ser usadas em todos os tipos de dados. Outras propriedades, como, por exemplo, ValidBytesConst, ValidElementsConst, ElementSize e NullTerminted suportam ponteiro, o ponteiro para membros ou tipos de matriz. Para obter uma lista completa de propriedades e tipos de dados suportados, consulte Propriedades de anotação.

Exemplo

O código a seguir gera este aviso:

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f([SA_Pre(ValidElementsConst=4)] int x);

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;

void f([Pre(ValidElementsConst=4)] int x);

Para corrigir esse aviso, use um ponteiro ou um tipo de matriz, como mostrado no exemplo de código seguir:

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f([SA_Pre(ValidElementsConst=4)] int *px);
 - or -
void f([SA_Pre(ValidElementsConst=4)] int px[]);

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f([Pre(ValidElementsConst=4)] int *px);
 - or -
void f([Pre(ValidElementsConst=4)] int px[]);

Consulte também

Referência

C6516