Udostępnij za pośrednictwem


C6518

Ostrzeżenie C6518: Nieprawidłowy przypis: właściwość 'SAL_writableTo' nie mogą być określone jako warunku wstępnego buforów, które nie są zapisywalne: '_Param_(1)'

To ostrzeżenie wskazuje, że istnieje konflikt między SAL_writableTo wartość właściwości i właściwość z możliwością zapisu.Zwykle oznacza to, że właściwość z możliwością zapisu nie ma uprawnienia do zapisu w parametrze oznaczonym adnotacją.

Przykład

Poniższy kod generuje tego ostrzeżenia, ponieważ _Out_ adnotacji kompiluje się uwzględnienie SAL_writableTo właściwość, która nie zezwala na dostęp do zapisu:

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

Aby poprawić to ostrzeżenie, należy użyć następującego kodu:

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