共用方式為


警告 C26495

變數 ' variable ' 未初始化。 一律初始化成員變數 (type.6)。

備註

成員變數不是由建構函式或初始化運算式初始化。 請確定所有變數都會在建構結束時初始化。 如需詳細資訊,請參閱 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