Skip to content

Latest commit

 

History

History
32 lines (23 loc) · 1.17 KB

c26457.md

File metadata and controls

32 lines (23 loc) · 1.17 KB
description title ms.date f1_keywords helpviewer_keywords
Learn more about: Warning C26457 USE_STD_IGNORE_INSTEAD_OF_VOID_CAST
Warning C26457
3/1/2021
C26457
USE_STD_IGNORE_INSTEAD_OF_VOID_CAST
C26457

Warning C26457

(void) should not be used to ignore return values, use 'std::ignore =' instead (es.48)

Remarks

Excerpt from the C++ Core Guideline ES.48:

Never cast to (void) to ignore a [[nodiscard]] return value. If you deliberately want to discard such a result, first think hard about whether that is really a good idea (there is usually a good reason the author of the function or of the return type used [[nodiscard]] in the first place). If you still think it's appropriate and your code reviewer agrees, use std::ignore = to turn off the warning which is simple, portable, and easy to grep.

Code analysis name: USE_STD_IGNORE_INSTEAD_OF_VOID_CAST

Example

Use std::ignore instead of cast to void:

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

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