Aracılığıyla paylaş


Derleyici Uyarısı (düzey 4) C4703

Başlatılmamış olabilecek yerel işaretçi değişkeni 'name' kullanıldı

Açıklamalar

Yerel işaretçi değişkeni adı , bir değer atanmadan kullanılmış olabilir. Bu erişim öngörülemeyen sonuçlara yol açabilir.

/sdl (Ek Güvenlik Denetimlerini Etkinleştir) derleyici seçeneği bu uyarıyı bir hataya yükseltir.

Örnek

Aşağıdaki kod C4701 ve C4703 oluşturur.

#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

Bu uyarıyı düzeltmek için bu örnekte gösterildiği gibi değişkeni başlatın:

#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);
}

Ayrıca bkz.

Derleyici Uyarısı (düzey 4) C4701
Uyarılar, /sdlve başlatılmamış değişken algılamayı geliştirme