Partager via


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, utilisez std::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
}