Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
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
};