的警告 C6517:无效的批注:“SAL_readableTo”属性在不可读的缓冲区上指定:“_Param_ (1)”。
![]() |
---|
此警告在使用源代码注释语言的代码仅发生 (SAL) 的一个弃用的版本。建议您端口您的代码使用 SAL 的最新版本。有关更多信息,请参见使用 SAL 批注以减少 C/C++ 代码缺陷。 |
此警告意味着 SAL_readableTo 属性没有所需的读取权限。不能使用此特性来批注参数提供读取权限。
示例
在下面的代码中,因为没有在缓冲区上授予读取权限,所以会生成此警告:
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f([Pre( ValidBytesConst=10 )][Pre( Deref=1, Access=Write )] char* buffer );
若要更正此警告,请授予读取权限,如下面的代码所示:
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f([Pre( ValidBytesConst=10 )][Pre( Deref=1, Access=Read)] char* buffer );