C6526
Actualización: noviembre 2007
C6526
Advertencia C6526: Especificación de tamaño no válida: la expresión debe ser de tipo de puntero o de matriz
Esta advertencia indica que se utiliza un tipo de datos incorrecto para especificar un valor de la propiedad. Una propiedad puede admitir todos los tipos de datos o sólo un subconjunto de ellos. En este caso, el valor especificado para la propiedad debe ser de tipo de matriz o de puntero. Para obtener una lista de las propiedades de anotación, vea Propiedades de anotación.
Ejemplo
El código siguiente genera esta advertencia porque el valor para WritableElementsLenght se debe especificar utilizando un tipo de matriz o de puntero:
// C
#include <CodeAnalysis\SourceAnnotations.h>
void f ([SA_Pre(WritableElementsLength="count")] char *ps, size_t count);
// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f ([Pre(WritableElementsLength="count")] char *ps, size_t count);
Para corregir esta advertencia, el código siguiente establece el valor de WritableElementsLength en un tipo de puntero. Al especificar un tipo de matriz o de puntero, se indica que la longitud de char *ps es la misma que la de char*pt.
// C
#include <CodeAnalysis\SourceAnnotations.h>
void f ([SA_Pre(WritableElementsLength="pt")] char *ps, char *pt);
// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f ([Pre(WritableElementsLength="pt")] char *ps, char *pt);