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
}