Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
(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
}