Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
AnreyKazakov
Заблокирован
#1

ошибка с итератором - C++

18.09.2012, 16:29. Просмотров 290. Ответов 1
Метки нет (Все метки)

Помогите, пожалуйста, не могу понять зачем вычитать нужно еденицу из deq1.begin()
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string>
#include <iterator>
#include <deque>
using std::cout;using std::cin;using std::endl;using std::string;using std::deque;using std::getline;
void see(deque<string>::iterator ix1, deque<string>::iterator ix2){
    while(ix1!=ix2){++ix1;cout<<*ix1+" ";}  
    }
int main(){
    string str;
    deque<string> deq1;
    while(getline(cin,str)){deq1.push_front(str);}
    see(deq1.begin()-1,deq1.end());/*Вот здесь...*/
    return 0;
    }
Иначе он перебирает начиная со второго элемента до конца, а необходимо, чтобы он с 1 перебирал...

Добавлено через 1 минуту
Все понял, ошибка в 7 строчке...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.09.2012, 16:29     ошибка с итератором
Посмотрите здесь:

C++ Проблема с итератором в <vector>
Работа с итератором C++
C++ Шаблонная функция принимающая вектор - что-то не так с итератором

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
18.09.2012, 16:37     ошибка с итератором #2
AnreyKazakov,
C++
1
deq1.begin()-1
Это вообще не хилая такая ошибка.
Yandex
Объявления
18.09.2012, 16:37     ошибка с итератором
Ответ Создать тему
Опции темы

Текущее время: 11:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru