警告 C6508:无效的批注: 不允许对 const 值执行写访问
![]() |
---|
此警告在使用源代码注释语言的代码仅发生 (SAL) 的一个弃用的版本。建议您端口您的代码使用 SAL 的最新版本。有关更多信息,请参见使用 SAL 批注以减少 C/C++ 代码缺陷。 |
此警告意味着对常数参数指定的 Access 属性暗示它可被写入。对于常数值,Access=Read 是唯一有效的设置。
示例
下面的代码生成此警告:
// C
#include <CodeAnalysis\SourceAnnotations.h>
void fD ([SA_Pre(Deref=1,Access=SA_Write)]const char *pc);
// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f ([Pre(Deref=1,Access=Write)]const char *pc);
若要更正此警告,请使用下面的代码:
// C
#include <CodeAnalysis\SourceAnnotations.h>
void f ([SA_Pre(Deref=1,Access=SA_Read)]const char *pc);
// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f ([Pre(Deref=1,Access=Read)]const char *pc);