Condividi tramite


Avviso del compilatore (livello 4) C4701

Variabile locale potenzialmente non inizializzata 'name' usata

Il nome della variabile locale potrebbe essere stato usato senza assegnare un valore. Ciò potrebbe portare a risultati imprevedibili.

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) C4703
Avvisi, /sdl e miglioramento del rilevamento delle variabili non inizializzate