경고 C26461

함수 'function'에 대한 포인터 인수 'argument'를 포인터 const 로 표시할 수 있습니다(con.3).

설명

인수가 있는 T* 함수는 개체 값을 수정할 가능성이 있습니다. 함수의 의도가 아닌 경우 포인터 const T* 를 대신 만드는 것이 좋습니다.

코드 분석 이름: USE_CONST_POINTER_ARGUMENTS

예시

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
}

참고 항목

C++ 핵심 지침 con.3.