警告 C26457

(void) 戻り値を無視するために使用しないでください。代わりに '' をstd::ignore =使用してください (es.48)

解説

C++ コア ガイドライン ES.48 からの抜粋:

(void) にキャストして [[nodiscard]] 戻り値を無視することはしないでください。 そのような結果を意図的に破棄する場合は、それが良いアイデアかどうか真剣に考えてください (関数の作成者または戻り値の型の作成者が [[nodiscard]] を使用したのには、通常は正当な理由があります)。 それでもそうすることが適切だと思われ、コード レビュー担当者も同意している場合は、簡単かつ移植可能で grep が容易な std::ignore = を使用して警告をオフにします。

コード分析名: USE_STD_IGNORE_INSTEAD_OF_VOID_CAST

キャストの代わりに次の値を使用 std::ignore します void

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

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