Freigeben über


Compilerwarnung (Ebene 4) C4701

Potenziell nicht initialisierte lokale Variable "name" verwendet

Möglicherweise wurde der name der lokalen Variablen verwendet, ohne einem Wert zugewiesen zu werden. Dies kann zu unvorhersehbaren Ergebnissen führen.

Beispiel

Der folgende Code generiert C4701 und 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

Um diese Warnung zu korrigieren, initialisieren Sie die Variable wie in diesem Beispiel gezeigt:

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

Siehe auch

Compilerwarnung (Ebene 4) C4703
Warnungen, /sdl und verbesserung der erkennung nicht initialisierter Variablen