Avertissement C26457
(void)
ne doit pas être utilisé pour ignorer les valeurs de retour, utilisez «std::ignore =
» à la place (es.48)
Notes
Extrait de la directive C++ Core ES.48 :
Ne jamais effectuer de conversion pour
(void)
ignorer une[[nodiscard]]
valeur de retour. Si vous souhaitez délibérément ignorer un tel résultat, pensez d’abord dur à savoir si c’est vraiment une bonne idée (il existe généralement une bonne raison que l’auteur de la fonction ou du type de retour utilisé[[nodiscard]]
en premier lieu). Si vous pensez toujours qu’il est approprié et que votre réviseur de code accepte, utilisezstd::ignore =
pour désactiver l’avertissement qui est simple, portable et facile à grep.
Nom de l’analyse du code : USE_STD_IGNORE_INSTEAD_OF_VOID_CAST
Exemple
Utilisez std::ignore
plutôt que caster sur void
:
struct S{};
[[nodiscard]] S getS();
void function() {
(void) getS(); // C26457
std::ignore = getS(); // OK
}