Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915

Используется потенциально неинициализированая локальная переменная

26.08.2020, 17:53. Показов 1219. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте,

Подскажите пожалуйста почему так происходит:

В первом случае все работает нормально:

1)
C++
1
2
3
4
5
6
int main()
{
    int it = 0;
    
    func(it);
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void func(int it)
{
    int my_int;;
 
 
    if (it == 0)
    {
        my_int = 1;
    }
 
    if (it == 1)
    {
        my_int = 2;
    }
 
    cout << my_int << endl;
}
А вот в этом случае уже ошибка "Используется потенциально неинициализированая локальная переменная", хотя вроде бы на первый взгляд ведь все тоже самое ?

2)
C++
1
2
3
4
5
6
int main()
{
    int it = 0;
    
    func(it);
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <Windows.h>
void func(int it)
{
    HWND MY_GetForegroundWindow;
 
    int mint = 345;
 
    if (it == 0)
    {
        MY_GetForegroundWindow = (HWND)mint;
    }
    if (it == 1)
    {
        MY_GetForegroundWindow = (HWND)mint;
    }
 
    cout << MY_GetForegroundWindow << endl;
}
Разве тут не все тоже самое ??
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.08.2020, 17:53
Ответы с готовыми решениями:

Ошибка: Используется потенциально неинициализированная локальная переменная
Ошибка: Используется потенциально неинициализированная локальная переменная prev - 48 строчка, как исправить? код: #include...

Используется потенциально неинициализированная локальная переменная-указатель
// ex4.cpp: определяет точку входа для консольного приложения. // ...

Error C4703: используется потенциально неинициализированная локальная переменная-указатель
// prog8.cpp: определяет точку входа для консольного приложения. #include &lt;stdio.h&gt; #include &lt;iostream&gt; #include &lt;string&gt;...

23
зомбяк
 Аватар для TRam_
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
26.08.2020, 20:06
Студворк — интернет-сервис помощи студентам
По второму

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <Windows.h>
void func(int it)
{
    HWND MY_GetForegroundWindow;
 
    int mint = 345;
 
    if (it == 0)
        MY_GetForegroundWindow = (HWND)mint;
    else if (it == 1)
        MY_GetForegroundWindow = (HWND)mint;
    else
    {
        cout << "can't create Window" << endl;  // MY_GetForegroundWindow не вызывается
        return;
    }
 
    cout << MY_GetForegroundWindow << endl;
}
Добавлено через 2 минуты
Цитата Сообщение от Optimus11 Посмотреть сообщение
Вы так шутите ?
А есть разница со случаем, когда у нас есть int it; ?
0
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
26.08.2020, 20:10  [ТС]
Цитата Сообщение от TRam_ Посмотреть сообщение
А есть разница со случаем, когда у нас есть int it; ?
Разница с чем ?
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13241 / 6873 / 1827
Регистрация: 18.10.2014
Сообщений: 17,420
26.08.2020, 20:21
Цитата Сообщение от TRam_ Посмотреть сообщение
И вообще - при дальнейших модификациях программы вы можете забыть о том, что передавать функции можно только 0 или 1, или в неё передастся неправильный результат исполнения какой-то другой функции. Так что оставлять в том виде как у вас - нежелательно, о чём компилятор вас и предупреждает.
Сколько уж можно повторять по кругу, что это здесь всем и так понятно? Вопрос не имеет к этому никакого отношения.

Вопрос не в том, почему выдается предупреждение, а в том, почему две практически одинаковых версии кода диагностируются по-разному.

Цитата Сообщение от Optimus11 Посмотреть сообщение
А вот в этом случае уже ошибка "Используется потенциально неинициализированая локальная переменная", хотя вроде бы на первый взгляд ведь все тоже самое ?
... хотя как ТС получить такую ошибку и при каких настройках - не ясно. Ничего подобного у меня не воспроизводится.
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
26.08.2020, 20:41
TRam_, почитайте еще раз внимательнее, о чем собственно, идет речь. И о чем вопрос. Я вот тоже сходу не врубился, а потом дошло-таки
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.08.2020, 20:41

Ошибка "используется потенциально неинициализированная локальная переменная-указатель"
#include&lt;iostream&gt; using namespace std; struct spis { int info; spis* prev, * next; }*begin,*end,*t; void create_spis(spis**...

"Используется потенциально неинициализированная локальная переменная - указатель"
Доброго времени суток! Возникла проблема в программе, на 68 строке пишет, что &quot;используется потенциально неинициализированная локальная...

Ошибка C4703 используется потенциально неинициализированная локальная переменная-указатель "A"
Помогите не могу понять, что не так то, уже многое перепробовал #include &quot;stdafx.h&quot; #include &lt;locale.h&gt; #include...

C4703 используется потенциально неинициализированная локальная переменная-указатель "end"
Здравствуйте, помогите пожалуйста разобраться с кодом (используется потенциально неинициализированная локальная переменная-указатель...

Исправить ошибку: "C4703: используется потенциально неинициализированная локальная переменная-указатель"
Вообщем выдает одну ошибку в функции добавления в 76 строке, а именно &quot;Ошибка 1 error C4703: используется потенциально неинициализированная...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Новые блоги и статьи
Транслитерация текста с кириллицы на латиницу (вариант №3)
Maks 15.11.2026
Обновленная версия предыдущей обработки. Изменения коснулись букв: Ъ, Ы, Ь, Э, отображения которых зависят от положения реквизита "Транслитерация имён". Изменено отображение буквы Й. Добавлена. . .
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки. Добавлено: - Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы. Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru