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


C6516

Обновлен: Ноябрь 2007

C6516

Предупреждение C6516: недопустимая аннотация. Для атрибута <имя> не указаны свойства.

Это предупреждение означает, что либо в атрибуте не было указано свойство, либо указано недопустимое свойство. Поэтому атрибут не является полным.

Пример

Это предупреждение создается в следующем коде, поскольку свойство Deref=1 определяет только косвенный уровень, но для программы анализа этой информации недостаточно.

// 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);

Чтобы устранить это предупреждение, требуется другой свойство, например Access, которое будет указывать действия для элементов. В следующем коде данное предупреждение устраняется:

// 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);