Megosztás:


Figyelmeztetés C26495

A 'változó' változó nincs inicializálva. Mindig inicializáljon egy tagváltozót (type.6).

Megjegyzések

A tagváltozót nem konstruktor vagy inicializáló inicializálja. Győződjön meg arról, hogy az összes változó inicializálva van az építés végére. További információ: C++ Alapvető irányelvek Type.6 és C.48.

Ez az ellenőrzés eljáráson belüli. Amikor függvényhívás történik egy nemkonstans tagfüggvényre, az ellenőrzés azt feltételezi, hogy ez a tagfüggvény inicializálja az összes tagot. Ez a heurisztikus hibát okozhat, és a hamis pozitív eredmények elkerülése érdekében működik. Továbbá, ha egy tagot nem konkonzív hivatkozás ad át egy függvényre, az ellenőrzés feltételezi, hogy a függvény inicializálja a tagot.

Kódelemzés neve: MEMBER_UNINIT.

példa

Az alábbi minta a C26495 figyelmeztetést generálja, mert a tagváltozó value nem inicializálódik egy MyStruct objektum létrehozásakor.

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

A probléma megoldásához hozzáadhatja az osztályon belüli inicializálást az összes tagváltozóhoz.

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

Lásd még

C26494