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

Ошибка при удалении элемента (STL) - C++

Восстановить пароль Регистрация
 
Ёрик
45 / 45 / 2
Регистрация: 07.01.2009
Сообщений: 298
04.04.2010, 12:27     Ошибка при удалении элемента (STL) #1
У меня есть вектор списков. Мне нужно во внутреннем цикле(в списке) удалить элемент.
Ошибка компиляции,когда удаляю с помощью алгоритма,причем лезет куда-то в header STL.
Подскажите,как нужно правильно сделать!

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
std::vector<std::list<Process> > processQueue_;
Process running;
for (std::vector<std::list<Process> >::iterator i = processQueue_.begin(); i!= processQueue_.end(); ++i)
                {
                    for (std::list<Process>::iterator j = i->begin(); j!= i->end(); ++j)
                    {
                                                    if ( j->PPID_ == running.PID_)
                            {
                                i->erase(std::remove_if(i->begin(),i->end(),IsEqualPriority((*j),running)),i->end());
                            }
                        }
                    }
                }   
 
 
 
...
bool IsEqualPriority(const Process &src,const Process &dst)
{
    if (src.PID_ == dst.PID_)
    {
        return true;
    } 
    else
    {
        return false;
    }
}
Ругается,мне кажется, на IsEqualPriority. Как мне нужно удалить элемент?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.04.2010, 12:27     Ошибка при удалении элемента (STL)
Посмотрите здесь:

Ошибка при удалении динамического массива C++
C++ Вылетает программа при удалении элемента вектора
Что происходит при удалении/добавлении элемента в контейнер vector? C++
При удалении первого элемента из динамического списка присваивается плохой указатель C++
Ошибка при удалении массива C++
При удалении элемента из списка происходит непонятная ошибка C++
C++ Ошибка при удалении динамического массива
C++ Ошибка в удалении элемента в списке

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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