Bagikan melalui


Compiler Warning (level 4) C4703

Variabel penunjuk lokal yang berpotensi tidak diinisialisasi 'nama' digunakan

Keterangan

Nama variabel pointer lokal mungkin telah digunakan tanpa diberi nilai. Akses ini dapat menyebabkan hasil yang tidak dapat diprediksi.

/sdl Opsi kompilator (Aktifkan Pemeriksaan Keamanan Tambahan) meningkatkan peringatan ini menjadi kesalahan.

Contoh

Kode berikut menghasilkan C4701 dan C4703.

#include <malloc.h>

void func(int size)
{
    void* p;
    if (size < 256) {
        p = malloc(size);
    }

    if (p != nullptr) // C4701 and C4703
        free(p);
}

int main()
{
    func(9);
}
c:\src\test.cpp(10) : warning C4701: potentially uninitialized local variable 'p' used
c:\src\test.cpp(10) : warning C4703: potentially uninitialized local pointer variable 'p' used

Untuk memperbaiki peringatan ini, inisialisasi variabel seperti yang ditunjukkan dalam contoh ini:

#include <malloc.h>

void func(int size)
{
    void* p = nullptr;
    if (size < 256) {
        p = malloc(size);
    }

    if (p != nullptr)
        free(p);
}

int main()
{
    func(9);
}

Baca juga

Compiler Warning (level 4) C4701
Peringatan, /sdl, dan meningkatkan deteksi variabel yang tidak diinisialisasi