Ostrzeżenie C26457
(void)
nie należy używać do ignorowania wartości zwracanych, użyj wartości "std::ignore =
" zamiast (es.48)
Uwagi
Fragment wytycznych dotyczących rdzeni języka C++ES.48:
Nigdy nie rzutuj, aby
(void)
zignorować wartość zwracaną[[nodiscard]]
. Jeśli celowo chcesz odrzucić taki wynik, najpierw zastanów się, czy jest to naprawdę dobry pomysł (zazwyczaj istnieje dobry powód, dla którego autor funkcji lub typu zwracanego jest używany[[nodiscard]]
w pierwszej kolejności). Jeśli nadal uważasz, że jest to odpowiednie, a recenzent kodu zgadza się, użyjstd::ignore =
polecenia , aby wyłączyć ostrzeżenie, które jest proste, przenośne i łatwe do grep.
Nazwa analizy kodu: USE_STD_IGNORE_INSTEAD_OF_VOID_CAST
Przykład
Użyj std::ignore
polecenia zamiast rzutowania na :void
struct S{};
[[nodiscard]] S getS();
void function() {
(void) getS(); // C26457
std::ignore = getS(); // OK
}