警告 C26457
(void)
不應該用來忽略傳回值,請改用 'std::ignore =
' (es.48)
備註
C++ Core Guideline ES.48 的摘錄 :
絕對不要轉換成
(void)
忽略傳[[nodiscard]]
回值。 如果您刻意要捨棄這類結果,請先仔細思考這是否真的是個好主意(通常有充分的理由是函式作者或第一次使用的[[nodiscard]]
傳回型別)。 如果您仍然認為這是適當的,且您的程式碼檢閱者同意,請使用std::ignore =
來關閉簡單、可攜且容易 grep 的警告。
程式碼分析名稱: USE_STD_IGNORE_INSTEAD_OF_VOID_CAST
範例
使用 std::ignore
,而不是轉換成 void
:
struct S{};
[[nodiscard]] S getS();
void function() {
(void) getS(); // C26457
std::ignore = getS(); // OK
}
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應