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