C6500

警告 C6500:无效的批注: <name> 属性的值无效

说明说明

此警告仅发生在使用源代码注释语言(SAL) 的已弃用的版本代码中。建议使用 SAL 最新版本移植代码。有关详细信息,请参阅使用 SAL 批注以减少 C/C++ 代码缺陷

此警告意味着在批注中使用的属性值无效。例如,如果在 Deref 属性中使用的取消引用级别有误,或者所使用的常数值比属性(如 ElementSize)的 size_t 大,则可能会出现此警告。

示例

在下面的代码中,因为在前置条件中使用的取消引用级别有误,所以会生成此警告:

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f( [SA_Pre( Deref=2, Access=SA_Read )] char buffer[] );

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;

void f( [Pre( Deref=2, Access=Read )] char buffer[] );

若要更正此警告,请指定正确的取消引用级别,如下面的代码示例所示:

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f( [SA_Pre( Deref=1, Access=SA_Read )] char buffer[] );

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;

void f( [Pre( Deref=1, Access=Read )] char buffer[] );

此警告是针对前置条件和后置条件而言的。

请参见

其他资源

Deref