Russian Qt Forum

Qt => Вопросы новичков => Тема начата: bIVEHb от Апрель 03, 2017, 17:05



Название: Cлучайный(рандомный) доступ к элементу QMap
Отправлено: bIVEHb от Апрель 03, 2017, 17:05
Есть такой QMap
Код:
QMap<QString,QPair<QPixmap*,QMediaPlayer*> >m;
Мы его заполнили и необходим cлучайный(рандомный) доступ к элементу(ключу).
Я пытался  сделать так, программа компилируется, но после запуска вылетает.
Код:
QMap<QString, QPair<QPixmap*,QMediaPlayer*> >::const_iterator i;
std::advance(i, rand() % m.size());
QString random_key = i->first;
Может кто нибудь подсказать как правильно реализовать?


Название: Re: Cлучайный(рандомный) доступ к элементу QMap
Отправлено: gil9red от Апрель 03, 2017, 17:25
Что-то невидно инициализации итератора, типа:
Код
C++ (Qt)
QMap<QString, QPair<QPixmap*,QMediaPlayer*> >::const_iterator i = m.constBegin();


Название: Re: Cлучайный(рандомный) доступ к элементу QMap
Отправлено: bIVEHb от Апрель 03, 2017, 17:39
Спасибо, заработало. Надо бы мне повнимательнее быть))))