C6516
警告 C6516: 無效的附註: 沒有為 <name> 屬性 (Attribute) 指定任何屬性 (Property)
注意事項 |
---|
這項警告只發生在使用不建議原始程式碼附註語言的程式碼 (SAL) 版本。建議您移植程式碼以使用 SAL 最新的版本。如需詳細資訊,請參閱使用 SAL 註釋減少 C/C++ 程式碼的缺失。 |
這則警告表示,屬性 (Attribute) 中未指定屬性 (Property) 或所指定的屬性 (Property) 無效,因此不能將屬性 (Attribute) 視為完整。
範例
下列程式碼會產生這項警告,因為 Deref=1 僅指定間接取值 (Indirection) 的層級,但是單單這項資訊並不能對分析工具有所幫助:
// 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);
若要更正這則警告,需要對必須在已取值 (Dereference) 之項目上強制使用的分析工具,指定另一個屬性 (Property),例如 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);