Freigeben über


Warnung C26457

(void) sollte nicht zum Ignorieren von Rückgabewerten verwendet werden, verwenden Sie stattdessen "std::ignore =" (es.48)

Hinweise

Auszug aus der C++-Kernrichtlinie ES.48:

Nie in (void) einen Rückgabewert umwandeln, um einen [[nodiscard]] Rückgabewert zu ignorieren. Wenn Sie absichtlich ein solches Ergebnis nicht Karte möchten, überlegen Sie zuerst, ob dies wirklich eine gute Idee ist (in der Regel gibt es einen guten Grund, warum der Autor der Funktion oder des Rückgabetyps, der in erster Linie verwendet wird[[nodiscard]]). Wenn Sie immer noch der Meinung sind, dass dies angemessen ist und Ihr Codeprüfer zustimmt, verwenden Sie die Möglichkeit std::ignore = , die Warnung zu deaktivieren, die einfach, portierbar und einfach zu grep ist.

Codeanalysename: USE_STD_IGNORE_INSTEAD_OF_VOID_CAST

Beispiel

Verwenden Sie std::ignore anstelle der Umwandlung in void:

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

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