Avviso C26457

(void) non deve essere usato per ignorare i valori restituiti, usare invece 'std::ignore =' (es.48)

Osservazioni:

Estratto delle linee guida di base C++ ES.48:

Non eseguire mai il cast per (void) ignorare un [[nodiscard]] valore restituito. Se si vuole eliminare deliberatamente un risultato di questo tipo, considerare prima di tutto se si tratta di una buona idea (in genere c'è un buon motivo per cui l'autore della funzione o del tipo restituito usato [[nodiscard]] in primo luogo). Se si ritiene ancora appropriato e il revisore del codice accetta, usare std::ignore = per disattivare l'avviso che è semplice, portatile e facile da grep.

Nome dell'analisi del codice: USE_STD_IGNORE_INSTEAD_OF_VOID_CAST

Esempio

Usare std::ignore anziché eseguire il cast in void:

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

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