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[] );
此警告是针对前置条件和后置条件而言的。