Uyarı C26461
'function' işlevi için 'argument' işaretçi bağımsız değişkeni işaretçi olarak
const
işaretlenebilir (con.3).
Açıklamalar
Bağımsız değişken içeren bir T*
işlev, nesnenin değerini değiştirme potansiyeline sahiptir. İşlevin amacı bu değilse işaretçiyi bir yapmak const T*
daha iyidir.
Kod analizi adı: USE_CONST_POINTER_ARGUMENTS
Örnek
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
}