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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 66, средняя оценка - 4.92
Choopa
17 / 17 / 0
Регистрация: 03.04.2011
Сообщений: 89
#1

vector.erase - C++

05.05.2011, 06:33. Просмотров 10244. Ответов 2
Метки нет (Все метки)

Помогите пожалуйста с синтаксисом удаления любого элемента из вектора
Вот тут ошибка:
C++
1
2
3
4
5
6
7
8
9
10
#include <vector.h>
void main()
{
    vector<int>a;
    a.push_back(10);
    a.push_back(20);
    vector<int>::iterator pos;
    *pos=a[0];
    a.erase(pos);
}
 Комментарий модератора 
Используйте теги форматирования кода!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2011, 06:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос vector.erase (C++):

vector::erase()? - C++
есть вектор структур struct person{ string name; int age; vector &lt;person&gt; repw;

std::vector::erase - C++
Всем привет. Буду очень рад, если кто-нибудь может мне объяснить логику... см. скриншот....

Крах при vector.erase() - C++
Всё вроде бы работает так, как мне надо...но когда остаётся 1 элемент и его нужно очистить, программа крашится. Что я сделал не так? ...

Функция Erase класса vector - C++
Нужно удалить из вектора, в котором объекты авторского класса, объекты с весом более 300. Написал цикл, но при запуске пишет Iterators...

Vector <bool> erase iterator outside range - C++
Помогите, пожалуйста. При компиляции появляется ошибка (фото ниже). Это реализация алгоритма Хаффмана. Не могу понять, что не так, по...

Ошибка в функции erase для vector - C++
cout &lt;&lt; &quot;How much numbers? : &quot;; int n; cin &gt;&gt; n; vector&lt;int&gt;array(n); for (int i = 0; i &lt; n; i++) { cin &gt;&gt; array; ...

2
CEBEP
107 / 107 / 9
Регистрация: 21.03.2010
Сообщений: 445
05.05.2011, 06:55 #2
C++
1
2
3
4
5
6
7
8
9
10
#include <vector>
void main()
{
    std::vector<int>a;
    a.push_back(10);
    a.push_back(20);
    std::vector<int>::iterator pos = a.begin();
    //*pos=a[0];
    a.erase(pos);
}
1
ValeryLaptev
Эксперт С++
1046 / 825 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
05.05.2011, 08:47 #3
C++
1
2
3
4
5
6
7
8
9
10
#include <vector.h>                              
void main()
{
vector<int>a;
a.push_back(10);
a.push_back(20);
vector<int>::iterator pos;
*pos=a[0];
a.erase(pos);
}
1. <vector> - без .h
2. std::vector или написать после инклуда using namespace std;
3. int main()

Для удаления любого элемента вектора, например a[i], можно делать так:
C++
1
2
vector<int>::iterator pos = a.begin() + i;
a.erase(pos);
Если порядок элементов вектора не важен, то все можно делать ГОРАЗДО быстрее:
C++
1
2
swap(a[i], a.back());
a.pop_back();
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.05.2011, 08:47
Привет! Вот еще темы с ответами:

Ошибка при использовании erase для std::vector - C++
Почему в случае удаления элемента из вектора с помощью передачи итератора в erase, который соответствует позиции удаляемого элемента...

Ошибка “vector<bool> erase iterator outside range” при работе алгоритма Хаффмана - C++
Проблема с функцией BuildTable. Компилируется, но в процессе работы возникает ошибка. // Huffmann.cpp: определяет точку входа для...

error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall Vector<int>::Vector<int>(void)" (?0?$Vector@H@@QAE@XZ) в функции _main - C++
//Vector.h #include &lt;iostream&gt; #include &lt;Windows.h&gt; #include &lt;climits&gt; #include &lt;vector&gt; #include &lt;stdlib.h&gt; #include &lt;fstream&gt;...

Как можно увеличить размер вектора, который является элементом вектора vector<vector<int>>arr(n, vector <int>) - C++
Написал программу, которая создает вектор 'а' векторов 'b', вектора 'b' содержат 2 числа. Стало интересно, как нужно изменить программу...


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

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

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