Compartir a través de


C6517

Actualización: noviembre 2007

C6517

Advertencia C6517: Conflicto de anotación: no se puede especificar ValidElementsConst y ValidBytesConst en los búferes que no son de lectura

Esta advertencia indica que las propiedades ValidElementsConst y ValidBytesConst no tienen el acceso de lectura necesario. No puede utilizar estas propiedades para anotar un parámetro sin proporcionarles acceso de lectura.

Ejemplo

El código siguiente genera esta advertencia porque no se concede acceso de lectura en el búfer:

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f([SA_Pre(ValidBytesConst=10 )][SA_Pre( Deref=1, Access=SA_Write )] char* buffer );

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;

void f([Pre( ValidBytesConst=10 )][Pre( Deref=1, Access=Write )] char* buffer );

Para corregir esta advertencia, conceda acceso de lectura como se muestra en el código siguiente:

// C
#include <CodeAnalysis\SourceAnnotations.h>

void f([SA_Pre(ValidBytesConst=10 )][SA_Pre( Deref=1, Access=SA_ReadWrite )] char* buffer ); 

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;

void f([Pre( ValidBytesConst=10 )][Pre( Deref=1, Access=ReadWrite )] char* buffer ); 

Vea también

Otros recursos

Propiedades de anotación