Udostępnij za pośrednictwem


Ostrzeżenie kompilatora (poziom 4) C4701

Użyto potencjalnie niezainicjowanej zmiennej lokalnej "name"

Nazwa zmiennej lokalnej mogła zostać użyta bez przypisania wartości. Może to prowadzić do nieprzewidywalnych wyników.

Przykład

Poniższy kod generuje C4701 i 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

Aby poprawić to ostrzeżenie, zainicjuj zmienną, jak pokazano w tym przykładzie:

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

Zobacz też

Ostrzeżenie kompilatora (poziom 4) C4703
Ostrzeżenia, /sdl i poprawianie niezainicjowanego wykrywania zmiennych