C6516
Предупреждение C6516: Недопустимая аннотация: для атрибута <имя> не указаны свойства
![]() |
---|
Это предупреждение возникает только в коде, который использует нерекомендуемую версию языка заметок исходного кода (SAL).Рекомендуется переносить код для использования последней версии SAL.Для получения дополнительной информации см. Использование аннотаций SAL для сокращения количества дефектов в коде C/C++. |
Это предупреждение означает, что либо в атрибуте не было указано свойство, либо указано недопустимое свойство. Поэтому атрибут не является полным.
Пример
Это предупреждение создается в следующем коде, поскольку свойство 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);