Лучший отвечающий
Ошибка на этапе компиляции

Вопрос
-
Суть вопроса такова: я создаю структуру, и объявляю указатель на переменную этого типа. Далее я вывожу структуру, выводим в файл. Вывод производим с помощью операции смещения от указателя, то есть указатель плюс индекс и разыменовываем и выводим. Редактор кода не замечает ошибки, но далее при сборке возникает ошибка, не определена локальная переменная.
Вот отрывки из кода:
MARSH *way; //Инициализация указателя way
system("cls");
SetConsoleTextAttribute(hConsoleHandle, FOREGROUND_GREEN | FOREGROUND_INTENSITY);
cout << "Введите название начального пункта маршрута (Например: Vitebsk)";
SetConsoleTextAttribute(hConsoleHandle, FOREGROUND_INTENSITY);
while (index < size)
{
cin >> *(way + index);
ofstream outfile("MARSHrut_List.txt", ios::app);
outfile << (*(way + index)) << endl; //Здесь происходит ошибка
index++;
}выдает ошибку:
error C4700: использована неинициализированная локальная переменная "way"
Хотя в другом отрывке кода при таком же способе доступа к переменной этой же структуры такой ошибки не происходит:
for (int i = 0; i < size; i++)
{
if (strcmp((*(way + i)).start_point, point) == 0)
{
indicator = true;
cout << "начальная точка: " << (*(way + i)).start_point
<< "\tконечная точка: " << (*(way + i)).finish_point
<< "\tномер маршрута: " << (*(way + i)).marsh_number << "\n"; //Поиск в структуре
}
else
if (strcmp((*(way + i)).finish_point, point) == 0)
{
indicator = true;
cout << "начальная точка: " << (*(way + i)).start_point
<< "\tконечная точка: " << (*(way + i)).finish_point
<< "\tномер маршрута: " << (*(way + i)).marsh_number << "\n";
}
}В чем моя ошибка и где?
28 февраля 2018 г. 20:00
Ответы
-
Язык C++
- Помечено в качестве ответа Alexandr_Tihon 28 февраля 2018 г. 20:03
- Снята пометка об ответе Alexandr_Tihon 28 февраля 2018 г. 20:04
- Помечено в качестве ответа Alexandr_Tihon 28 февраля 2018 г. 20:04
- Изменено Alexandr_Tihon 28 февраля 2018 г. 20:04
28 февраля 2018 г. 20:03
Все ответы
-
Язык C++
- Помечено в качестве ответа Alexandr_Tihon 28 февраля 2018 г. 20:03
- Снята пометка об ответе Alexandr_Tihon 28 февраля 2018 г. 20:04
- Помечено в качестве ответа Alexandr_Tihon 28 февраля 2018 г. 20:04
- Изменено Alexandr_Tihon 28 февраля 2018 г. 20:04
28 февраля 2018 г. 20:03 -
MARSH *way; //Инициализация указателя way
Комментарий не соответствует коду. Если не ясно в чем загвоздка, то это не инициализация, а лишь объявление указателя.
This posting is provided "AS IS" with no warranties, and confers no rights.
1 марта 2018 г. 4:06Модератор