g++
Приветствую, коллеги!
Столкнулся вот с какой ерундой: по логике (моей) этот кусок кода
работать должен. Всё компилируется, однако, при запуске программы
случается segfault.
Если у кого более другой/новый компилятор -- попробуйте.
/******************************************************************************
Strange thing, but this piece of code may initiate segfault
near push_back in while. Is there an error in vector?
gcc version 2.95.2 20000220 (Debian GNU/Linux)
void f()
{
vector<string> paths;
paths.push_back("1");
cout << "loop..." << endl;
vector<string>::iterator p = paths.begin();
while (p != paths.end()) {
cout << "\t" << *p << endl;
paths.push_back(p, "2");
^^^^^^^^^^^^^^^^^^^^^^^^
this is the place of segfault
++p;
}
cout << "end..." << endl;
}
******************************************************************************/
Пишите, пожалуйста, в лист.
--
Андрей Сандерс
--
To UNSUBSCRIBE, email to debian-russian-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Reply to:
- Follow-Ups:
- Re: g++
- From: alexander saltanov <asdgray@penza.net>
- Re: g++
- From: Alexei Khlebnikov <khlebnikov@scnsoft.com>