C6521
警告 C6521: 無效的大小規格: * 運算子只能套用至指標型別
這個警告表示在接受 (Accept) 另一個參數之參數大小的附註屬性中不正確地使用 * 運算子。 如果大小參數是非指標型別且使用 * 運算子來取值,則會產生這個警告。 然而,如果大小參數是傳遞為指標型別,則可使用 * 運算子。
範例
下列程式碼將產生出這個警告:
// C
#include <CodeAnalysis\SourceAnnotations.h>
void f ([SA_Pre(WritableElements="*c")] char *pc, size_t c);
// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f ([Pre(WritableElements="*c")] char *pc, size_t c);
若要更正這個警告,請刪除 WritableElements 屬性值中的 * 運算子,或將指標傳遞給 size_t。 下列程式碼會使用 size_t *c:
// C
#include <CodeAnalysis\SourceAnnotations.h>
void f ([SA_Pre(WritableElements="*c")] char *pc, size_t *c);
// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f ([Pre(WritableElements="*c")] char *pc, size_t *c);