Compartir a través de


C6518

advertencia C6518: Anotación no válida: La propiedad “SAL_writableTo” no se puede especificar como una condición previa en búferes que no son programables: “_Param_ (1)”

Esta advertencia indica que existe un conflicto entre un valor de propiedad de SAL_writableTo y una propiedad de escritura.Normalmente, indica que una propiedad de escritura no tiene acceso de escritura al parámetro que se anota.

Ejemplo

El código siguiente genera esta advertencia porque las compilaciones de anotación de _Out_ para incluir una propiedad de SAL_writableTo , que no permite el acceso de escritura:

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

Para corregir esta advertencia, utilice el código siguiente:

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