Condividi tramite


Avviso C6504

Annotazione non valida: la proprietà può essere usata solo sui valori del puntatore, del puntatore al membro o del tipo di matrice

Questo avviso indica l'uso di un'annotazione SAL specifica del puntatore su un tipo di dati non puntatore.

Osservazioni:

Per altre informazioni sui tipi di dati supportati dalle proprietà, vedere Proprietà annotazione.

Nome dell'analisi del codice: NULL_ON_NON_POINTER

Esempio

Il codice seguente genera l'avviso C6504. Questo problema deriva dall'uso del puntatore specifico _Maybenull_ e _Notnull_ dal riferimento pt.

class Point
{
    public:
        //  members
};

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

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

Per correggere questo avviso, rimuovere l'annotazione se non ha senso. È anche possibile passare a un'annotazione applicabile al tipo usato o modificare il tipo in modo che corrisponda all'annotazione. Il codice seguente corregge questo avviso modificando la prima istanza di pt in un puntatore e rimuovendo la seconda annotazione in modo che corrisponda al tipo di riferimento.

class Point
{
    public:
        //  members
};

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

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

Vedi anche

Proprietà annotazione