C6521
Обновлен: Ноябрь 2007
C6521
Предупреждение C6521. Недопустимая спецификация размера: оператор * можно применять только типам указателя
Данное предупреждение указывает на неверное использование оператора * в свойстве аннотации, принимающем размер параметра в терминах другого параметра. Это предупреждение создается в том случае, если параметр размера не принадлежит типу указателя, однако для его разыменования используется оператор *. Однако, если для параметра размера передается указатель, оператор * можно использовать.
Пример
Данное предупреждение создается в следующем коде:
// C
#include <CodeAnalysis\SourceAnnotations.h>
void f ([SA_Pre(WritableElements="*c")] char *pc, size_t c);
// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f ([Pre(WritableElements="*c")] char *pc, size_t c);
Чтобы устранить это предупреждение, следует либо удалить оператор * из значения свойства WritableElements или передать указатель для параметра size_t. В следующем коде используется выражение "size_t *c":
// C
#include <CodeAnalysis\SourceAnnotations.h>
void f ([SA_Pre(WritableElements="*c")] char *pc, size_t *c);
// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f ([Pre(WritableElements="*c")] char *pc, size_t *c);