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