Avertissement du compilateur (niveau 4) C4703

Variable de pointeur local potentiellement non initialisée 'name' utilisée

Notes

Le nom de la variable de pointeur local a peut-être été utilisé sans avoir à attribuer de valeur. Cet accès peut entraîner des résultats imprévisibles.

L’option /sdl du compilateur (Activer des vérifications de sécurité supplémentaires) élève cet avertissement à une erreur.

Exemple

Le code suivant génère l’erreur C4701 et 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

Pour corriger cet avertissement, initialisez la variable comme indiqué dans cet exemple :

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

Voir aussi

Avertissement du compilateur (niveau 4) C4701
Avertissements, /sdlet amélioration de la détection des variables non initialisées