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


C6522

Обновлен: Ноябрь 2007

C6522

Предупреждение C6522. Недопустимая спецификация размера: выражение должно иметь тип целого числа

Данное предупреждение означает, что ожидался целочисленный тип, однако использовался неверный тип данных. Можно использовать свойства аннотации, которые принимают размер параметра в терминах другого параметра, однако необходимо использовать правильный тип данных. Полный список свойств аннотации см. в разделе Свойства заметок.

Пример

Данное предупреждение создается в следующем коде:

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f ([SA_Pre(ValidBytes="c")] char *pc, double c);

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f ([Pre(ValidBytes="c")] char *pc, double c);

Для устранения этого предупреждения в качестве типа данных параметра ValidBytesParam используйте size_t, как указано в следующем коде:

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f ([SA_Pre(ValidBytes="c")] char *pc, size_t c);

// C++  
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f ([Pre(ValidBytes="c")] char *pc, size_t c);