C6518

avviso C6518: Annotazione non valida: La proprietà 'SAL_writableTo' non può essere specificata come precondizione su buffer che non sono scrivibili: '_Param_ (1)'

L'avviso indica l'esistenza di un conflitto tra il valore della proprietà SAL_writableTo e una proprietà modificabile.Solitamente, ciò indica che una proprietà modificabile non dispone di accesso in scrittura al parametro annotato.

Esempio

Il codice seguente genera questo avviso perché l'annotazione di _Out_ compila per includere una proprietà di SAL_writableTo, che non consente l'accesso in scrittura:

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

Per risolvere il problema, utilizzare il codice seguente:

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