Предупреждение C6522
Недопустимая спецификация размера: выражение должно быть целочисленным типом: заметка "заметка" функции "function" "parameter"
Примечание.
Это предупреждение возникает только в коде, используюющем устаревшую версию языка заметок исходного кода (SAL). Рекомендуется перенести код для использования последней версии SAL. Дополнительные сведения см. в статье "Использование заметок SAL для уменьшения дефектов кода C/C++".
Замечания
Это предупреждение указывает, что ожидался целый тип, но использовался неверный тип данных. Вы можете использовать свойства заметки, которые принимают размер параметра с точки зрения другого параметра, но необходимо использовать правильный тип данных. Список свойств заметки см. в разделе "Использование заметок SAL" для уменьшения дефектов кода.
Имя анализа кода: INVALID_SIZE_STRING_TYPE
Пример
Следующий код создает это предупреждение:
// 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);
Чтобы исправить это предупреждение, используйте size_t
для ValidBytesParam
типа данных параметра, как показано в следующем примере кода:
// 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);
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по