Warnung C6504
Ungültige Anmerkung: Eigenschaft kann nur für Werte von Zeiger, Zeiger-zu-Element oder Arraytyp verwendet werden.
Diese Warnung gibt die Verwendung einer zeigerspezifischen SAL-Anmerkung für einen Datentyp ohne Zeiger an.
Hinweise
Weitere Informationen dazu, welche Datentypen von Eigenschaften unterstützt werden, finden Sie unter Anmerkungseigenschaften.
Codeanalysename: NULL_ON_NON_POINTER
Beispiel
Der folgende Code generiert warnung C6504. Dieses Problem ergibt sich aus der Verwendung des zeigerspezifischen und _Notnull_
referenzbezogenen _Maybenull_
Verweisespt
.
class Point
{
public:
// members
};
void f(_Pre_ _Maybenull_ Point& pt)
{
// code ...
}
void g(_Pre_ _Notnull_ Point& pt)
{
// code ...
}
Um diese Warnung zu korrigieren, entfernen Sie die Anmerkung, wenn sie nicht sinnvoll ist. Sie können auch zu einer Anmerkung wechseln, die auf den verwendeten Typ anwendbar ist, oder den Typ so ändern, dass er mit der Anmerkung übereinstimmt. Der folgende Code korrigiert diese Warnung, indem die erste Instanz eines pt
Zeigers geändert und die zweite Anmerkung entfernt wird, um dem Verweistyp zu entsprechen.
class Point
{
public:
// members
};
void f(_Pre_ _Maybenull_ Point* pt)
{
// code ...
}
void g(Point& pt)
{
// code ...
}