C6518

的警告 C6518:无效的批注:“SAL_writableTo”属性中不能指定作为前提条件在不可写的缓冲区:“_Param_ (1)”

此警告意味着存在冲突在 SAL_writableTo 属性值和一个可写属性之间。这通常意味着可写属性对所批注的参数没有写权限。

示例

下面的代码生成此警告,因为 _Out_ 批注生成包含 SAL_writableTo 属性,不允许编写:

#include <sal.h>
void f(_Out_ const char* pc)
{
    //code that can't write to *pc ...
}

若要更正此警告,请使用下面的代码:

#include <sal.h>
void f(_Out_  char* pc)
{
    pc = "Hello World";
    //code ...
}