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[]);