共用方式為


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