|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.12.2011, 18:59 | #1 |
Пользователь
Регистрация: 09.02.2011
Сообщений: 55
|
Не могу найти ошибку в программе на С++
Доброго времени суток.
Код:
Заранее спасибо. Последний раз редактировалось ACE Valery; 30.12.2011 в 19:03. |
28.12.2011, 19:05 | #2 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Код:
Последний раз редактировалось _Bers; 28.12.2011 в 19:13. |
28.12.2011, 19:18 | #3 |
Пользователь
Регистрация: 09.02.2011
Сообщений: 55
|
1)У меня в коде строки "using namespace std;" нет, и зачем Вы используете впоследствии используете "std"?
2)После того, как я написал "using namespace std;" и убрал "std" из кода, при компиляции открывается файл заголовка "stl_list.h" и в нем указывают ошибку, в чем дело? |
28.12.2011, 19:26 | #4 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Цитата:
Вопрос в том, зачем это нужно? Что означает запись вида "using namespace std" ? Что означает запись вида "std::" ? Где и почему их следует применять? 2. Впервые слышу о файле "stl_list.h" В стандартной библиотеке такого файла нет (у меня по крайней мере). 3. Если компилятор выдал ошибку - показывайте полностью весь текст ошибки. Телепаты в отпуске. |
|
28.12.2011, 19:33 | #5 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
вот смотри, что я сделал (это твой подправленный код):
Код:
А тебе нужно понять - что было не так? Почему раньше он не хотел компилироваться? Да, кстати.. ввел последнюю строчку склавиатуры и поймал крэш. Предположительно - не_валидный итератор листовый. Сейчас выясню точно, из-за чего крэшеццо... Вот смотри, вот в этой строчке: Код:
То есть, он указывает на уже не существующий элемент. Последний раз редактировалось _Bers; 28.12.2011 в 20:06. |
28.12.2011, 20:23 | #6 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Вот так все компилируется, и ничего не крэшеться.
Код:
Последний раз редактировалось _Bers; 28.12.2011 в 20:30. |
28.12.2011, 21:28 | #7 | |
Пользователь
Регистрация: 19.11.2011
Сообщений: 17
|
Цитата:
Более того иногда именно из-за написания using namespace std, вместо std:: возникают проблемы в работе программы. |
|
28.12.2011, 21:42 | #8 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Цитата:
2. Все ошибки я нашел и исправил. Прочитать о них можно выше. 3. Есть разница, как писать, вот так: Код:
Код:
Последний раз редактировалось _Bers; 28.12.2011 в 21:45. |
|
28.12.2011, 21:48 | #9 |
Форумчанин
Регистрация: 03.05.2010
Сообщений: 129
|
|
28.12.2011, 21:53 | #10 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Цитата:
Важно только одно: код написанный по стандарту должен делать то, что от него ожидается согласно стандарту. У парня было три ошибки: 1 .Он пытался заюзать стандартные контейнеры никак не указав пространство имен. 2. Он некорректно инициализировал массив стрингов, пытаясь скормить конструктору стринга тип int вместо char или char* 3. Ошибка в рантайме - попытка доступа к несуществующему элементу контейнера. Да блин, я все это выше написал, и довольно таки подробно. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не могу найти ошибку в программе | Doomsday | Помощь студентам | 1 | 14.11.2011 18:53 |
Ошибку не могу найти в программе | Веселина | Паскаль, Turbo Pascal, PascalABC.NET | 7 | 26.05.2011 20:44 |
Не могу найти ошибку в программе. | Елеша | Помощь студентам | 0 | 06.05.2011 23:45 |
Не могу найти ошибку в программе | Dawystrik | Общие вопросы Delphi | 9 | 19.03.2009 21:19 |