C6500
更新:2007 年 11 月
警告 C6500:无效的批注: <name> 属性的值无效
此警告意味着在批注中使用的属性值无效。例如,如果在 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[] );
此警告是针对前置条件和后置条件而言的。