编译器警告(等级 4)C4703
使用潜在的未初始化的局部指针变量“名字”。
局部指针变量 name 可能在没有分配值的情况下被使用。 这可能导致不可预知的结果。
示例
下面的代码生成 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);
}
若要更正此警告,请如下面的例子所示初始化变量:
#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);
}