Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 04.11.2017
Сообщений: 14
1

Итератор вектора

01.04.2018, 21:33. Показов 918. Ответов 2
Метки нет (Все метки)

Только начал изучать STL.
Проблема с итератором.
[Error] conversion from 'std::vector<Alfa>::iterator {aka __gnu_cxx::__normal_iterator<Alfa*, std::vector<Alfa> >}' to non-scalar type 'std::vector<int>::iterator {aka __gnu_cxx::__normal_iterator<int*, std::vector<int> >}' requested
[Error] no matching function for call to 'std::vector<Alfa>::erase(std::vector<int>::iterator&, __gnu_cxx::__normal_iterator<int*, std::vector<int> >)'
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
#include <iostream>
#include <vector>
 
using namespace std;
 
 
 
class Alfa {
    public:
        static int count;
        Alfa();
        ~Alfa();
        friend ostream &operator << (ostream &stream, Alfa *obj);
};
 
ostream &operator << (ostream &stream, Alfa obj) {
    stream << obj.count << " - item number." << endl;
}
 
int Alfa::count = 0;
 
Alfa::Alfa() {
    if(count == 0) cout << "First object has been created." << endl;
}
 
Alfa::~Alfa() {
    if(count == 0) cout << "Last object has been destroyed." << endl;
}
 
 
int main() {
    
    vector<Alfa> v;
    
    for (int i = 0; i < 10; i++) v.push_back(Alfa());
    
    for (int i = 0; i < v.size(); i++) cout << v[i];
    
    vector<int>:: iterator p = v.begin();
    v.erase(p, p + 10);
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.04.2018, 21:33
Ответы с готовыми решениями:

Итератор для вектора
Привет, столкнулся с тем что при использовании stl вектора понадобился итератор перехода на элемент...

Можно ли итератор вектора декрементировать?
Добрый день ! Можно ли итератор вектора декрементировать ?

Удаление элементов вектора через итератор
почему так: //работает vector&lt;int&gt;::iterator it=garage.begin(); while(it!=garage.end()) {...

Почему не запоминается правильно итератор вектора?
Почему, если сделать что-то такое: #include &lt;iostream&gt; #include &lt;vector&gt; using namespace...

2
6992 / 6030 / 2738
Регистрация: 14.04.2014
Сообщений: 25,792
01.04.2018, 21:35 2
Ну тип в шаблоне же не соответствует. Откуда там int?
1
0 / 0 / 0
Регистрация: 04.11.2017
Сообщений: 14
01.04.2018, 21:39  [ТС] 3
Спасибо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.04.2018, 21:39

Можно ли при использовании вектора не использовать итератор?
можно ли при использование вектора не использовать итератор?

Изменить значение элемента вектора, на который указывает итератор
Собственно вопрос, возможно ли изменить значение элемента вектора, на который указывает итератор,...

Как вывести элементы двумерного вектора через итератор?
int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); using namespace std; ...

Реализовать двусвязный список (list), итератор (iterator) и константный итератор (сonst_iterator) для списка
не могу понять что должно быть результатом. может подскажете примеры? пожалуйста. Задание:...


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

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

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