編譯器警告 (層級 4) C4703
已使用可能未初始化的本機指標變數 '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);
}