Sdílet prostřednictvím


Upozornění kompilátoru (úroveň 4) C4703

Potenciálně neinicializovaná proměnná místního ukazatele "name" použitá

Poznámky

Název proměnné místního ukazatele mohl být použit bez přiřazení hodnoty. Tento přístup může vést k nepředvídatelným výsledkům.

Možnost kompilátoru /sdl (Povolit další kontroly zabezpečení) zvýší toto upozornění na chybu.

Příklad

Následující kód vygeneruje C4701 a 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

Chcete-li toto upozornění opravit, inicializujte proměnnou, jak je znázorněno v tomto příkladu:

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

Viz také

Upozornění kompilátoru (úroveň 4) C4701
Upozornění a /sdlvylepšení detekce neinicializovaných proměnných