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