Condividi tramite


Avviso C26461

L'argomento puntatore 'argument' per la funzione 'function' può essere contrassegnato come puntatore a const (con.3).

Osservazioni:

Una funzione con un T* argomento può modificare il valore dell'oggetto. Se questa non è la finalità della funzione, è preferibile impostare il puntatore const T* come puntatore.

Nome dell'analisi del codice: USE_CONST_POINTER_ARGUMENTS

Esempio

struct MyStruct
{
    void MemberFn1() const;
    void MemberFn2();
};

void Function1_Helper(const MyStruct* myStruct);
void Function1(MyStruct* myStruct) // C26461, neither of the operations on myStruct would modify the pointer's value.
{
    if (!myStruct)
        return;

    myStruct->MemberFn1();      // The member function is const
    Function1_Helper(myStruct); // Function1_Helper takes a const
}

void Function2(MyStruct* myStruct)
{
    if (!myStruct)
        return;

    myStruct->MemberFn2(); // The member function is non-const, so no C26461 will be issued
}

Vedi anche

Linee guida di base di C++ con.3.