Compilerwarnung (Ebene 4) C4703
Potenziell nicht initialisierte lokale Zeigervariable 'name' verwendet
Hinweise
Möglicherweise wurde der name der lokalen Zeigervariablen verwendet, ohne einem Wert zugewiesen zu werden. Dieser Zugriff könnte zu unvorhersehbaren Ergebnissen führen.
Die /sdl
Compileroption (Zusätzliche Sicherheitsüberprüfungen aktivieren) erhöht diese Warnung auf einen Fehler.
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) C4701
Warnungen, /sdl
, und verbessern die Erkennung nicht initialisierter Variablen