Aviso C26460

O argumento de referência 'argumento' para a função 'função' pode ser marcado como const (con.3).

Comentários

Passar um objeto por referência indica que a função tem o potencial de modificar o objeto. Se essa não for a intenção da função, é melhor marcar o argumento como uma referência constante.

Nome da análise de código: USE_CONST_REFERENCE_ARGUMENTS

Exemplo

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

void Function1_Helper(const MyStruct&);
void Function1(MyStruct& myStruct) // C26460, see comments below.
{
    myStruct.MemberFn1();       // The member function is marked as const
    Function1_Helper(myStruct); // Function1_Helper takes a const reference
}

void Function2(MyStruct& myStruct)
{
    myStruct.MemberFn2(); // MemberFn2 is non-const and has the potential to modify data
}

Confira também

Diretrizes Principais do C++ con.3.