コンパイラの警告 (レベル 4) C4703
初期化されていない可能性のあるローカル ポインター変数 'name' が使用されています
解説
ローカル ポインター変数 name が値を割り当てられずに使用されている可能性があります。 このアクセスは、予期しない結果につながる可能性があります。
/sdl
(追加のセキュリティ チェックを有効にする) コンパイラ オプションを使用すると、この警告がエラーに昇格されます。
例
次のコードでは、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);
}