Freigeben über


Compiler Warning (level 4) C4703

 

The latest version of this topic can be found at Compiler Warning (level 4) C4703.

Potentially uninitialized local pointer variable 'name' used

The local pointer variable name might have been used without being assigned a value. This could lead to unpredictable results.

Example

The following code generates C4701 and C4703.

#include <malloc.h>  
  
void func(int size)  
{  
    void* p;  
    if (size < 256) {  
        p = malloc(size);  
    }  
  
    if (p != nullptr) // C4701 and C4703  
        free(p);  
}  
  
void 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  
  

To correct this warning, initialize the variable as shown in this example:

#include <malloc.h>  
  
void func(int size)  
{  
    void* p = nullptr;  
    if (size < 256) {  
        p = malloc(size);  
    }  
  
    if (p != nullptr)  
        free(p);  
}  
  
void main()  
{  
    func(9);  
}  

See Also

Compiler Warning (level 4) C4701
Warnings, /sdl, and improving uninitialized variable detection