title | ms.date | ms.topic | f1_keywords | helpviewer_keywords | description | ||
---|---|---|---|---|---|---|---|
C26460 |
03/22/2018 |
reference |
|
|
CppCoreCheck rule that enforces C++ Core Guidelines Con.3 |
The reference argument '%argument%' for function '%function%' can be marked as const
(con.3).
Passing an object by reference indicates that the function has the potential modify the object. If that is not the intent of the function, it is better to mark the argument as a const reference.
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
}