Compartir a través de


Advertencia del compilador (nivel 4) C4703

Posiblemente se utilizó la variable de puntero local 'name' sin inicializar

Comentarios

Es posible que el nombre de la variable de puntero local se haya usado sin asignar un valor. Este acceso puede llevar a resultados impredecibles.

La opción del compilador /sdl (Habilitar comprobaciones de seguridad adicionales) eleva esta advertencia a un error.

Ejemplo

El código siguiente genera la advertencia C4701 y 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

Para corregir esta advertencia, inicialice la variable como se muestra en este ejemplo:

#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);
}

Consulte también

Advertencia del compilador (nivel 4) C4701
Advertencias, /sdl y mejora de la detección de variables sin inicializar