![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Surendil |
![]() ![]()
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 2 Регистрация: 2.8.2011 Пользователь №: 2785 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Здравствуйте
![]() Я хочу сделать QList< USBID* > и искать их по indexOf(). Как было написано в документации на QList, я реализовал в USBID оператор сравнения, получилось так:
В ходе отладки выяснилось, что до выполнения моего operator == дело не доходит. Помогите пожалуйста... |
|
|
PAFOS |
![]()
Сообщение
#2
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 258 Регистрация: 27.12.2010 Из: Дмитров Пользователь №: 2309 Спасибо сказали: 29 раз(а) Репутация: ![]() ![]() ![]() |
Все просто. У тебя QList<USBID*> хранит указатель на объект и, следовательно, при поиске сравниваются указатели на адреса, а не сами объекты.
Вижу два варианта: 1. Делаешь функцию которая принимает QList<USBID*> и то, что нужно найти. В цикле для каждого элемента, пока не будет найден искомый делаешь то, что сделал в операторе сравнения. 2. Используешь вместо QList<USBID*>, QList<USBID> |
|
|
Surendil |
![]()
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 2 Регистрация: 2.8.2011 Пользователь №: 2785 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Ой, я понял
![]() |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 11.3.2025, 1:12 |