Uyarı C6522

Geçersiz boyut belirtimi: ifade tam sayı türünde olmalıdır: 'function' 'parameter' işlevinde ek açıklama 'annotation'

Açıklamalar

Not

Bu uyarı yalnızca kaynak kodu ek açıklama dilinin (SAL) kullanım dışı bir sürümünü kullanan kodda oluşur. Kodunuzu SAL'nin en son sürümünü kullanacak şekilde taşımanızı öneririz. Daha fazla bilgi için bkz . C/C++ Kod Hatalarını Azaltmak için SAL Ek Açıklamalarını Kullanma.

Bu uyarı, tam sayı türünün beklendiğini, ancak yanlış bir veri türünün kullanıldığını gösterir. Bir parametrenin boyutunu başka bir parametre açısından kabul eden ek açıklama özelliklerini kullanabilirsiniz, ancak doğru veri türünü kullanmanız gerekir. Ek açıklama özelliklerinin listesi için bkz . Kod hatalarını azaltmak için SAL Ek Açıklamalarını kullanma.

Kod analizi adı: INVALID_SIZE_STRING_TYPE

Örnek

Aşağıdaki kod bu uyarıyı oluşturur:

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

Bu uyarıyı ValidBytesParam düzeltmek için aşağıdaki örnek kodda gösterildiği gibi parametre veri türü için kullanınsize_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);