--- title: Warning C26461 ms.date: 03/22/2018 f1_keywords: ["C26461", "USE_CONST_POINTER_ARGUMENTS"] helpviewer_keywords: ["C26461"] description: CppCoreCheck rule that enforces C++ Core Guidelines con.3 --- # Warning C26461 > 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 ```cpp 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 } ``` ## See also [C++ Core Guidelines con.3](https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Rconst-ref).