次の方法で共有


警告 C26457

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

解説

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

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

コード分析名: USE_STD_IGNORE_INSTEAD_OF_VOID_CAST

voidにキャストする代わりに、std::ignoreを使用します。

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

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