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

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

Войти
Регистрация
Восстановить пароль
 
Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
#1

Шаблоны, ассоциативний массив map - C++

27.12.2009, 13:42. Просмотров 683. Ответов 1

делаю задания из книжки Страуструпа по C++ надо сделать шаблон для ассоциативного массива map, используя vector. сначала написал не шаблонный map, все работало. Потом переписал код что бы получился шаблон, и мне тут же компилятор стал ругаться на "vector<Piar>::iterator I", а я этом ничего не менял. Нашел сайт где все про стандартные контейнеры расписано, но он мне не помог. Уже второй день ищу ошибку помогите пожалуйста.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <iostream>
#include <conio.h>
#include <string>
#include <vector>
using namespace std;
 
template<class V,class W> class Map{
      struct Piar{
             V name;
             W info;
             Piar(V vv,W ww):name(vv),info(ww){};
      };
      vector <Piar> vec;
      public:
             W &operator[](const V &vv)
             {                             
                    for (vector<Piar>::iterator I=vec.begin(); I!=vec.end();I++) //тут ошибка
                        if(I->name == vv) return I->info;
                    vec.push_back(Piar(vv,0));
                    return vec.back().info;
             }
             W &operator[](V &vv)
             {
                    for (vector<Piar>::iterator I=vec.begin();I!=vec.end();I++) //тут ошибка
                        if(I->name ==vv) return I->info;
                    vec.push_back(Piar(vv,0));
                    return vec.back().info;
             }
             void print_all()
             {
                  int i=0;
                  for (vector<Piar>::iterator I=vec.begin();I!=vec.end();I++) //тут ошибка
                  {
                      i++;
                      cout << "[" << I->name << "] = " << I->info << endl;
                      if (i==20){getch(); i=0;}
                  }
             }
};
 
int main()
{
    Map<string,double> E;
    getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2009, 13:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Шаблоны, ассоциативний массив map (C++):

Обращение к элементам vector, который находится в map, находящийся в map - C++
Всем добрый день! Имеется такой контейнер. Как обращаться к элементам вектора и как пушбэчить его? map &lt;int,map&lt;int,vector&lt;int&gt; &gt;...

STL(map). Где инициализировать массив? - C++
Для начала: не получалось данную тему назвать более логично, сайт не пропускал :-| Добрый день. Имеется: map&lt;int, string&gt;...

ассоциативный массив map c двумерным массивом - C++
Искал информацию в интернете но безрезультатно. Необходимо сделать ассоциативный массив с со строковым ключом и двумерным массивом 3х3 в...

Шаблоны функций и двумерный массив - C++
Задание следующее: программа работает с двумерным массивом, получает размерность и элементы, выводит матрицу на экран. Далее подсчитывает...

Двумерный динамический массив. Шаблоны - C++
Всем привет нужно создать функцию которая создаёт двумерный массив заданной размерности (+использовать шаблоны). Делаю следующим образом ...

Шаблоны функций и массив указателей - C++
Задание! Создайте шаблонную функцию maxn(), которая принимает в качестве аргумента массив элементов типа Т и целое число, представляющее...

1
rangerx
1935 / 1544 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
28.12.2009, 13:59 #2
[Решено][C++] Как тут можно "схитрить" и скомпилировать такой код?
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.12.2009, 13:59
Привет! Вот еще темы с ответами:

Одномерные массив (Шаблоны функций) - C++
Задание. Вот задание из одномерных массивов Вот решенное задание из одномерных массивов #include &lt;vcl.h&gt; #pragma...

Двумерный Массив.Шаблоны функции(отладить). - C++
Помогите пожалуйста, я что-то запутался как делать. Одномерный сам сделал, всё работает, а тут не получается по аналогу: #include...

ассоциативный массив MAP хранящий указатели на векторы определенной структуры - C++
вопрос: Если я создаю вектор, наполняю его данными и записываю указатель на него в MAP ,след шагом очищаю его. Я смогу обращаться к данному...

Массив. Макс и мин элемент.Шаблоны и функции. - C++
Само задание вот: Найти max(a2,a4,...a(2k)+min(a1,a3,...a(2k+1). Короче, вроде бы найти макс и мин эл-т. Нужно сделать через...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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