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


C6522

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

ПримечаниеПримечание

Это предупреждение возникает только в коде, который использует нерекомендуемую версию языка заметок исходного кода (SAL).Рекомендуется переносить код для использования последней версии SAL.Для получения дополнительной информации см. Использование аннотаций SAL для сокращения количества дефектов в коде C/C++.

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

Пример

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

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