C6516
Ostrzeżenie C6516: nieprawidłowa adnotacja: brak określonych właściwości dla atrybutu <name>
[!UWAGA]
Ostrzeżenie to pojawia się tylko w kodzie, który używa przestarzałych wersji języka adnotacji kodu źródłowego (SAL).Zaleca się przenieść kod tak, aby używał najnowszej wersji SAL.Aby uzyskać więcej informacji, zobacz Za pomocą adnotacji SAL do zmniejszenia wady kod C/C++.
To ostrzeżenie wskazuje, że albo żadna właściwość nie została określona w atrybucie albo właściwość, która została określona jest nieprawidłowa; dlatego też atrybut nie może zostać uznany za kompletny.
Przykład
Poniższy kod generuje to ostrzeżenie, ponieważ Deref=1 określa tylko poziom pośredniczenia, ale same te informacje nie są przydatne dla narzędzia analizy:
// 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);
W celu poprawienia tego ostrzeżenia wymagana jest inna właściwość, taka jak dostęp, do wskazania dla narzędzia analizy, co musi zostać wymuszone na elementach o usuniętych odwołaniach.Następujący kod naprawia to ostrzeżenie:
// 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);