Bagikan melalui


Peringatan C26495

Variabel 'variabel' tidak diinisialisasi. Selalu inisialisasi variabel anggota (type.6).

Keterangan

Variabel anggota tidak diinisialisasi oleh konstruktor atau oleh penginisialisasi. Pastikan semua variabel diinisialisasi pada akhir konstruksi. Untuk informasi selengkapnya, lihat C++ Pedoman Inti Type.6 dan C.48.

Pemeriksaan ini intra-prosedural. Setiap kali ada panggilan fungsi ke fungsi anggota nonkonst, pemeriksaan mengasumsikan bahwa fungsi anggota ini menginisialisasi semua anggota. Heuristik ini dapat mengakibatkan kesalahan yang terlewat dan diberlakukan untuk menghindari hasil positif palsu. Selain itu, ketika anggota diteruskan oleh referensi nonkonst ke fungsi, pemeriksaan mengasumsikan bahwa fungsi menginisialisasi anggota.

Nama analisis kode: MEMBER_UNINIT

Contoh

Sampel berikut menghasilkan peringatan C26495 karena variabel value anggota tidak diinisialisasi saat MyStruct objek dibuat.

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

Untuk mengatasi masalah ini, Anda dapat menambahkan inisialisasi di kelas ke semua variabel anggota.

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

Lihat juga

C26494