C6518

Note

This article applies to Visual Studio 2015. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here

warning C6518: Invalid annotation: 'SAL_writableTo' property may not be specified as a precondition on buffers that are not writable: 'Param\(1)'

This warning indicates that a conflict exists between a SAL_writableTo property value and a writable property. This ordinarily indicates that a writable property does not have write access to the parameter being annotated.

Example

The following code generates this warning because the _Out_ annotation compiles to include a SAL_writableTo property, which does not allow write access:

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

To correct this warning, use the following code:

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