Avertissement C26461
L’argument de pointeur 'argument' pour la fonction 'function' peut être marqué comme pointeur vers
const
(con.3).
Notes
Une fonction avec un T*
argument peut modifier la valeur de l’objet. Si ce n’est pas l’intention de la fonction, il est préférable de faire du pointeur un const T*
pointeur à la place.
Nom de l’analyse du code : USE_CONST_POINTER_ARGUMENTS
Exemple
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
}
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour