共用方式為


C6522

警告 C6522: 無效的大小規格: 運算式必須是整數類資料型別

注意事項注意事項

這項警告只發生在使用不建議原始程式碼附註語言的程式碼 (SAL) 版本。建議您移植程式碼以使用 SAL 最新的版本。如需詳細資訊,請參閱使用 SAL 註釋減少 C/C++ 程式碼的缺失

這個警告表示需要有整數類資料型別,但使用的資料型別不正確。 您可以使用會接受 (Accept) 另一個參數之參數大小的附註屬性,但必須使用正確的資料型別。 如需附註屬性的清單,請參閱附註屬性

範例

下列程式碼將產生出這個警告:

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