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


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