Compiler Warning (level 4) C4701
The latest version of this topic can be found at Compiler Warning (level 4) C4701.
Potentially uninitialized local variable 'name' used
The local 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) C4703
Warnings, /sdl, and improving uninitialized variable detection