Форум программистов, компьютерный форум CyberForum.ru

Вопрос по STL (функция find()) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.77
KEKCoGEN
Модератор
 Аватар для KEKCoGEN
1720 / 1598 / 387
Регистрация: 28.12.2010
Сообщений: 6,521
03.03.2011, 06:42     Вопрос по STL (функция find()) #1
Доброго времени. Возник вопрос по функции find из библиотеки STL
Имеем следующую ситуацию


C++
1
2
3
4
void    VLibrary::SearchWord(string word) {
    vector<Word>::iterator pos;
    pos = find(words.begin(), words.end(), word);
}
words представляет из себя вектор
C++
1
vector<Word> words;
в классе Word перегружен оператор == для сравнения со стрингом. Всё замечательно работает.

Введем небольшое изменение:
изменяем вектор на
C++
1
vector<Word*> words;
Теперь при запуске ф-ции find значения, которые принимает итератор это указатели на объект типа Word. Вопрос как следует перегрузить оператор == (или может сделать ещё что-то) чтобы программа работала с указанными изменениями?

После внесения изменений, компилятор дает ошибку
error C2679: binary '==' : no operator found which takes a right-hand operand of type 'const std::string' (or there is no acceptable conversion)

Понятно почему ошибка. Вопрос как её исправить?

Заранее благодарен

Добавлено через 4 часа 20 минут
Вопрос снят. Нагуглил уже.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.03.2011, 06:42     Вопрос по STL (функция find())
Посмотрите здесь:

оператор find в stl C++
C++ Вопрос по STL
Организовать find в векторе через STL!!! C++
STL find C++
C++ STL. Алгоритм find(). Игнорировать регистр
C++ STL алгоритм find, найти элементы
STL.Find() C++
C++ Find() для поиска элемента в поле класса / STL

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 02:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru