Поделиться через


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

См. также

Ссылки

C6516