C6506
Предупреждение C6506: недопустимая аннотация. Свойство <имя> можно использовать только для значений типа указатель или массив.
Это предупреждение означает, что свойство используется для типа, отличного от указателя или массива. Свойства Access, Tainted и Valid можно использовать для всех типов данных. Другие свойства, такие как ValidBytesConst, ValidElementsConst, ElementSize и NullTerminted, поддерживают следующие типы: указатель, указатель на члены, массив. Полный список свойств и поддерживаемых типов данных см. в разделе Свойства заметок.
Пример
Это предупреждение создается следующим кодом:
// 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);
Чтобы исправить это предупреждение, используйте тип указателя или массива, как показано в следующем примере кода:
// 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[]);