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
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für