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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.77
KEKCoGEN
Эксперт Java
1914 / 1792 / 435
Регистрация: 28.12.2010
Сообщений: 7,227
#1

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

03.03.2011, 06:42. Просмотров 1608. Ответов 0
Метки нет (Все метки)

Доброго времени. Возник вопрос по функции 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()) (C++):

STL find - C++
deleted нашел

оператор find в stl - C++
Допустим у меня есть такой код: #include &lt;vector&gt; #include &lt;algorithm&gt; #include &lt;string&gt; #include &lt;windows.h&gt; #include &lt;iostream&gt;...

Организовать find в векторе через STL!!! - C++
Написал через вектор STL некий контейнер заполнил его данными. Написал сортировку и вывод всех значений через вспомогательные обьекты....

STL. Алгоритм find(). Игнорировать регистр - C++
Вся суть вопроса изложена в теме. Есть код, я помещаю в очередь с двусторонним доступом 9 слов, далее использую алгоритм find чтобы найти...

STL алгоритм find, найти элементы - C++
Здраствуйте! У меня есть например массив vector&lt;int&gt; mas = {1,2,3,4,4,4,5,6}; Найти надо элемент 4, но find ищет только первый этот...

Find() для поиска элемента в поле класса / STL - C++
Есть какой то класс, к примеру: class Dog { public: Dog () {}; public: string Name; string Poroda; string Pol;

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.03.2011, 06:42
Привет! Вот еще темы с ответами:

Вопрос по STL - C++
Всем привет Подскажите пожалуйста, у меня есть участок кода: vector&lt;vector&lt;string&gt;&gt; str; В VC2005 работает, а в borland 5.5 и в C-Free...

Вопрос об map STL - C++
Как вивести map? list&lt;int&gt; l; for (int i=1; i&lt;=5; i++) l.push_back(i); map&lt;int,list&lt;int&gt;&gt; a; int d = 9; int f = 5; ...

Вопрос по контейнеру STL: list - C++
Есть пара нубских вопросов по контейнеру STL: list и связанному с ним итератору: 1) В программе есть переменная имеющая тип list&lt;string&gt;....

Функция find - C++
Что значит строчка: if(s.find(str,0) != -1)


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru