C6504
Actualización: noviembre 2007
C6504
Advertencia C6504: Anotación no válida: la propiedad 'Null' únicamente se puede utilizar en valores de puntero, puntero a miembro o matriz
Esta advertencia indica el uso de una propiedad en un tipo de datos incompatible. Para obtener más información sobre los tipos de datos admitidos por las propiedades, vea Propiedades de anotación.
Ejemplo
El código siguiente genera esta advertencia porque la propiedad Null no se puede utilizar en el tipo de datos char. El motivo es que Deref=1 hace referencia a caracteres, y no al puntero a los caracteres:
// C
#include <CodeAnalysis\SourceAnnotations.h>
void f([SA_Pre(Deref=1, Null=SA_Yes)] char* pc);
// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f([Pre(Deref=1, Null=Yes)] char* pc);
Para corregir esta advertencia, quite Deref=1, como se muestra en el siguiente ejemplo de código:
// C
#include <CodeAnalysis\SourceAnnotations.h>
void f([SA_Pre(Null=SA_Yes)] char* pc);
// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f([Pre(Null=Yes)] char *pc);
El código defectuoso mostrado anteriormente también genera la advertencia C6516 porque los conflictos de propiedad han provocado una anotación no válida.