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

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

Войти
Регистрация
Восстановить пароль
 
DJFile
0 / 0 / 0
Регистрация: 11.04.2010
Сообщений: 31
#1

STL. vector в map. Ошибки 2039 и 2839 - C++

29.05.2011, 15:51. Просмотров 506. Ответов 7
Метки нет (Все метки)

День добрый. Вот вкратце задание: автоматизированная система на жд вокзале. Храним номер поезда, время отправления и пункт назначения. Данные организовать в виде бинарного дерева. Поиск по номеру поезда и по городу. Сделал класс Train(данные узла дерева), класс Station(и есть бинарное дерево), в котором структура Node. В Station также поместил
C++
1
map<string, vector<Train*>> city;
, чтобы по нему осуществлять поиск по городу. Вот код поиска:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void Station::search_by_destination( const string& value )
{
    map<string, vector<Train*>>::iterator i = city.find(value);
    if (i->first != value)
    {
        cout << "Trains going to "<< value <<" is not found";
    }
    else
    {
        cout << value << ":" << endl;
        for(vector<Train*>::iterator j = i->second.begin(); j < i->second.end(); ++j)
        {
            cout << setw(10) << setfill('.') << j->get_number() //Вот тут ошибки 2039 и 2839
                << setfill('.') << j->get_time() << endl;             // Тут тоже самое
        }
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2011, 15:51     STL. vector в map. Ошибки 2039 и 2839
Посмотрите здесь:

C++ Вопрос об map STL
C++ vector STL
STL :: map C++
Интересное о vector и map. C++
stl map C++
C++ Не могу разобраться с map(STL)
C++ Map stl
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alex_x_x
бжни
2445 / 1650 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
29.05.2011, 16:10     STL. vector в map. Ошибки 2039 и 2839 #2
видимо (*j)->get_number();

Добавлено через 45 секунд
*j - operator* для итератора, он возвращает Train*
DJFile
0 / 0 / 0
Регистрация: 11.04.2010
Сообщений: 31
29.05.2011, 16:28  [ТС]     STL. vector в map. Ошибки 2039 и 2839 #3
Теперь такая ошибка:

error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'const Time' (or there is no acceptable conversion)

В строке:
C++
1
<< setfill('.') << j->get_time() << endl;
Хотя для класса Time оператор << перегружен, а get_time() вот такой:
C++
1
2
3
4
5
    
const Time& get_time() const
{
    return time;
}
alex_x_x
бжни
2445 / 1650 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
29.05.2011, 16:40     STL. vector в map. Ошибки 2039 и 2839 #4
приводите код оператора, ну и есть подозрение, что он должен быть operator<<(ostream&, const Time&)
DJFile
0 / 0 / 0
Регистрация: 11.04.2010
Сообщений: 31
29.05.2011, 17:49  [ТС]     STL. vector в map. Ошибки 2039 и 2839 #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
ostream& operator<<(ostream& fo, Time& fp)
{
    if (fp.hour < 10)
    {
        fo << '0' << fp.hour;
    } 
    else
    {
        fo << fp.hour;
    }
    fo << ':';
    if (fp.minute < 10)
    {
        fo  << '0' << fp.minute;
    } 
    else
    {
        fo << fp.minute;
    }
    return fo;
}
Константность в поиске пробовал убирать/добавлять, не помогло
pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
29.05.2011, 18:00     STL. vector в map. Ошибки 2039 и 2839 #6
C++
1
ostream& operator<<(ostream& fo, Time& fp) const
alex_x_x
бжни
2445 / 1650 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
29.05.2011, 18:14     STL. vector в map. Ошибки 2039 и 2839 #7
выложите кусок кода, который можно скомпилировать чтоли
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2011, 20:05     STL. vector в map. Ошибки 2039 и 2839
Еще ссылки по теме:

STL map C++
C++ STL. Map, vector. Строки
Контейнеры map и vector C++
C++ Map и vector
Работа с map<.> и vector<.> C++

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

Или воспользуйтесь поиском по форуму:
DJFile
0 / 0 / 0
Регистрация: 11.04.2010
Сообщений: 31
29.05.2011, 20:05  [ТС]     STL. vector в map. Ошибки 2039 и 2839 #8
Так-с везде константность пока что убрал, вроде компилится.
Рабочего кода пока что ещё нет, пока самые легкие методы пилю.
Yandex
Объявления
29.05.2011, 20:05     STL. vector в map. Ошибки 2039 и 2839
Ответ Создать тему
Опции темы

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