Avviso del compilatore (livello 4) C4703
utilizzata variabile puntatore locale non inizializzata 'nome'
Osservazioni:
Il nome della variabile del puntatore locale potrebbe essere stato usato senza assegnare un valore. Questo accesso potrebbe causare risultati imprevedibili.
L'opzione del /sdl
compilatore (Abilita controlli di sicurezza aggiuntivi) eleva questo avviso a un errore.
Esempio
Nel codice seguente vengono generati gli errori C4701 e 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
Per risolvere il problema, inizializzare la variabile come indicato nel codice seguente:
#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);
}
Vedi anche
Avviso del compilatore (livello 4) C4701
Avvisi, /sdl
e miglioramento del rilevamento di variabili non inizializzate