Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The pointer argument 'argument' for function 'function' can be marked as a pointer to
const
(con.3).
Remarks
A function with a T*
argument has the potential to modify the value of the object. If that isn't the intent of the function, it's better to make the pointer a const T*
instead.
Code analysis name: USE_CONST_POINTER_ARGUMENTS
Example
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
}