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


Предупреждение C6516

Недопустимая заметка: свойства, указанные для атрибута name

Примечание.

Это предупреждение возникает только в коде, используюющем устаревшую версию языка заметок исходного кода (SAL). Рекомендуется перенести код для использования последней версии SAL. Дополнительные сведения см. в статье "Использование заметок SAL для уменьшения дефектов кода C/C++".

Замечания

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

Имя анализа кода: NO_PROPERTIES_ON_ATTRIBUTE

Пример

Следующий код создает это предупреждение, так как 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);