C6521
Aktualisiert: November 2007
C6521
Warnung C6521: Ungültige Größenangabe: Der *-Operator kann nur auf Zeigertypen angewendet werden.
Diese Warnung gibt an, dass der *-Operator fälschlicherweise in einer Anmerkungseigenschaft verwendet wird, in der die Angabe der Größe eines Parameters durch einen anderen Parameter zulässig ist. Diese Warnung wird generiert, wenn der Größenparameter keinen Zeigertyp aufweist und ein *-Operator zur Dereferenzierung verwendet wird. Sie können den *-Operator jedoch verwenden, wenn der Größenparameter als Zeigertyp übergeben wird.
Beispiel
Der folgende Code generiert diese Warnung:
// 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);
Um die Warnung zu korrigieren, löschen Sie entweder den *-Operator aus dem Wert der WritableElements-Eigenschaft oder übergeben einen Zeiger an size_t. Im folgenden Code wird size_t *c verwendet:
// 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);