crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> QList и indexOf
Surendil
  опции профиля:
сообщение 18.8.2011, 22:58
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 2
Регистрация: 2.8.2011
Пользователь №: 2785

Спасибо сказали: 0 раз(а)




Репутация:   0  


Здравствуйте :) Ломаю голову над проблемой уже четвёртый час, никак не могу понять, почему не работает.

Я хочу сделать QList< USBID* > и искать их по indexOf(). Как было написано в документации на QList, я реализовал в USBID оператор сравнения, получилось так:
bool USBID::operator ==(USBID &cmpId) const

В ходе отладки выяснилось, что до выполнения моего operator == дело не доходит.
Помогите пожалуйста...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
PAFOS
  опции профиля:
сообщение 19.8.2011, 7:56
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 258
Регистрация: 27.12.2010
Из: Дмитров
Пользователь №: 2309

Спасибо сказали: 29 раз(а)




Репутация:   8  


Все просто. У тебя QList<USBID*> хранит указатель на объект и, следовательно, при поиске сравниваются указатели на адреса, а не сами объекты.

Вижу два варианта:

1. Делаешь функцию которая принимает QList<USBID*> и то, что нужно найти. В цикле для каждого элемента, пока не будет найден искомый делаешь то, что сделал в операторе сравнения.

2. Используешь вместо QList<USBID*>, QList<USBID>
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Surendil
  опции профиля:
сообщение 19.8.2011, 9:09
Сообщение #3


Новичок


Группа: Новичок
Сообщений: 2
Регистрация: 2.8.2011
Пользователь №: 2785

Спасибо сказали: 0 раз(а)




Репутация:   0  


Ой, я понял :) спасибо!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 26.4.2024, 5:24