Advertencia C6501

Conflicto de anotación: la propiedad 'name' entra en conflicto con la propiedad especificada anteriormente

Nota:

Esta advertencia solo se produce en el código que usa una versión en desuso del lenguaje de anotación de código fuente (SAL). Se recomienda realizar la portabilidad del código para usar la versión más reciente de SAL. Para más información, consulte Uso de anotaciones SAL para reducir los defectos en el código de C/C++.

Comentarios

Esta advertencia indica la presencia de propiedades en conflicto en la anotación. Normalmente, la advertencia se produce cuando se usan varias propiedades que tienen un propósito similar para anotar un parámetro o un valor devuelto. Para corregir la advertencia, debe elegir la propiedad que mejor se adapte a sus necesidades.

Nombre del análisis de código: CONFLICTING_ATTRIBUTE_PROPERTY_VALUES

Ejemplo

El código siguiente genera esta advertencia porque ValidElementsConst y ValidBytesConst proporcionan un mecanismo para permitir que se lean los datos válidos:

// C
#include <CodeAnalysis\SourceAnnotations.h>
void fd([SA_Pre(ValidElementsConst =4, ValidBytesConst =4)] char pch[]);

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f( [Pre(ValidElementsConst=4, ValidBytesConst=4 )] char pch[] );

Para corregir esta advertencia, use la propiedad más adecuada, como se muestra en el código siguiente:

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f( [SA_Pre(ValidElementsConst=4)] char pch[] );

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f( [Pre(ValidElementsConst=4)] char pch[] );