Поделиться через


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); 

См. также

Другие ресурсы

Свойства заметок