Как новичок, я пытаюсь реализовать функцию сортировки в C++, используя класс list. Однако, запустив код, я получаю сообщение об ошибке, что итератор списка не увеличивается ... Однако это кажется очень маловероятным, поскольку он должен быть инкрементальным!Перечислить сообщение об ошибке без инкрементного сообщения в C++
код:
void shuffle (list<int> &list1)
{
list<int> smaller;
list<int> larger;
if (list1.size() > 1)
{
list<int>::iterator it;
//int it;
int x = list1.front();
for (it = list1.begin(); it != list1.end(); it++)
{
if(*it <= x)
{
smaller.push_front(*it);
list1.pop_front();
}
else
{
larger.push_back(*it);
list1.pop_front();
}
shuffle (smaller);
shuffle (larger);
}
}
else
{
print(smaller);
print(larger);
//cout << "No sorting needed! The list still looks like: ";
//print(list1);
}
print(smaller);
print(larger);
}
Я реализовал эту функцию только в де CPP файле, под основным.
Есть ли у кого-нибудь предложения?
Предполагая, что jalf прав, могу ли я просто сказать, что я понял, «компилируя код, я получаю ошибку. .. "означает, что вы получили ошибку компилятора, а не то, что она скомпилирована, но затем вы получили сообщение об ошибке при запуске. – 2008-12-02 19:37:10
Изменен «компиляция кода» на «запуск кода». Я получил ту же ошибку, когда * запускал свой код в VS2k8. VS выполняет множество дополнительных проверок и ограничений - проверка по итераторам по умолчанию, что и выводит ошибку, с которой он столкнулся. – jalf 2008-12-02 19:39:40