警告 C6504

無効な注釈: プロパティは、ポインター、メンバーへのポインター、または配列型の値でのみ使用できます

この警告は、非ポインター データ型に対してポインター固有の SAL 注釈を使用していることを示します。

解説

プロパティでサポートされるデータ型の詳細については、「注釈のプロパティ」をご覧ください。

コード分析名: NULL_ON_NON_POINTER

次のコードでは、警告 C6504 が生成されます。 この問題は、ポインター固有_Maybenull__Notnull_および参照時の使用に起因しますpt

class Point
{
    public:
        //  members
};

void f(_Pre_ _Maybenull_ Point& pt)
{
    // code ...
}

void g(_Pre_ _Notnull_ Point& pt)
{
    // code ...
}

この警告を修正するには、意味がない場合は注釈を削除します。 使用する型に適用できる注釈に変更したり、注釈に一致するように型を変更したりすることもできます。 次のコードでは、最初のインスタンスをポインターに変更し、参照型に一致するように 2 番目の pt 注釈を削除することで、この警告を修復します。

class Point
{
    public:
        //  members
};

void f(_Pre_ _Maybenull_  Point* pt)
{
    // code ...
}

void g(Point& pt)
{
    // code ...
}

参照

注釈のプロパティ