C6522
upozornění C6522: neplatná specifikace velikosti: výraz musí být integrálního typu
[!POZNÁMKA]
Toto upozornění se zobrazuje pouze v kódu, který používá zastaralou verzi jazyka SAL.Doporučujeme převedení kódu tak, aby používal nejnovější verzi jazyka SAL.Další informace naleznete v tématu Použití poznámek SAL k snížení míry výskytu závad kódu C/C++.
Toto upozornění znamená, že by mělo být integrálního typu ale byl použit nesprávný typ dat.Můžete použít vlastnosti poznámek, které přijímají velikost parametru, pokud jde o jiný parametr, ale je nutné použít správný datový typ.Seznam vlastností poznámek naleznete v tématu Vlastnosti poznámky.
Příklad
Následující kód generuje toto upozornění:
// 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);
Chcete-li opravit toto upozornění, použijte size_t u ValidBytesParam typ dat parametru, jak je znázorněno v následujícím ukázkovém kódu:
// 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);