添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

成員變數不是由建構函式或初始化運算式初始化。 請確定所有變數都會在建構結束時初始化。 如需詳細資訊,請參閱 C++ 核心指導方針 Type.6 C.48

這項檢查是程式內檢查。 每當有非const 成員函式的函式呼叫時,檢查會假設此成員函式會初始化所有成員。 此啟發學習法可能會導致遺漏錯誤,並已就緒以避免誤判結果。 此外,當成員由非常數參考傳遞至函式時,檢查會假設函式會初始化成員。

程式碼分析名稱: MEMBER_UNINIT

下列範例會產生警告 C26495,因為建立物件時 MyStruct 不會初始化成員變數 value

struct MyStruct
    int value;
    MyStruct() {} // C26495, MyStruct::value is uninitialized

若要解決此問題,您可以將類別內初始化新增至所有成員變數。

struct MyStruct
    int value{};  // empty brace initializer sets value to 0
    MyStruct() {} // no warning, MyStruct::value is set via default member initialization

C26494