Предупреждение компилятора (уровень 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);
}
См. также
Предупреждение компилятора (уровень 4) C4701
Предупреждения и /sdl
улучшение неинициализированного обнаружения переменных