Dela via


Varning C26457

(void) ska inte användas för att ignorera returvärden, använd "std::ignore =" i stället (es.48)

Anmärkningar

Utdrag ur C++ Core-riktlinjen ES.48:

Kasta aldrig till (void) för att ignorera en [[nodiscard]] returvärde. Om du medvetet vill kassera ett sådant resultat, bör du först tänka noga på om det verkligen är en bra idé (det finns vanligtvis en bra anledning till att författaren till funktionen eller returtypen använde [[nodiscard]] från början). Om du fortfarande tycker att det är lämpligt och kodgranskaren godkänner det kan du använda std::ignore = för att inaktivera varningen som är enkel, portabel och lätt att ta bort.

Kodanalysnamn: USE_STD_IGNORE_INSTEAD_OF_VOID_CAST

Exempel

Använd std::ignore i stället för att casta till void:

struct S{};
[[nodiscard]] S getS();

void function() {
    (void) getS(); // C26457
    std::ignore = getS(); // OK
}