コンパイラの警告 (レベル 4) C4701

初期化されていない可能性のあるローカル変数 'name' が使用されています

ローカル変数 name が値を割り当てられずに使用されている可能性があります。 これにより、予測できない結果が生じる可能性があります。

次のコードでは、C4701 と 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

この警告を解決するには、次の例に示すように変数を初期化します:

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

関連項目

コンパイラの警告 (レベル 4) C4703
警告、/sdl、初期化されていない変数の検出の改善