Freigeben über


Compilerwarnung (Stufe 4) C4703

Vielleicht nicht initialisierte lokale Zeigervariable "Name" verwendet

Die lokale Zeigervariable name verwendet worden, ohne einen Wert zugewiesen 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);
}

void main()
{
    func(9);
}
  
  

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

#include <malloc.h>

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

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

void main()
{
    func(9);
}

Siehe auch

Referenz

Compilerwarnung (Stufe 4) C4701

Weitere Ressourcen

Warnungen, /sdl und Verbessern der nicht initialisierte Variablen Erkennung