Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как определить итератор для массива std::string, обычные итераторы не подходят 
V
    Опции темы
zim22
Дата 13.3.2009, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Необходимо с помощью std::find возвратить итератор на искомый элемент из массива.
Но компилятор ругается:
error C2440: 'initializing' : cannot convert from 'std::basic_string<_Elem,_Traits,_Ax> ' to 'std::_String_iterator<_Elem,_Traits,_Alloc>'

Код

std::string extensions[] = {"txt", "zip", "rar", "djvu"};        
size_t arr_size = sizeof(extensions) / sizeof(*extensions);
std::string::iterator it = std::find(extensions, extensions + arr_size, "txt"); // ошибка



--------------------
PM MAIL   Вверх
azesmcar
Дата 13.3.2009, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Код

std::string* i = std::find(extensions, extensions + arr_size, "txt")


не лучше ли std::vector или std::list???
PM   Вверх
mes
Дата 13.3.2009, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



поиск осуществляете по массиву, а итератор строки 


--------------------
PM MAIL WWW   Вверх
vinter
Дата 13.3.2009, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

Репутация: 8
Всего: 56



Цитата(zim22 @  13.3.2009,  20:18 Найти цитируемый пост)
std::string* it = std::find(extensions, extensions + arr_size, "txt"); // ошибка




--------------------
Мой блог
PM MAIL WWW   Вверх
mes
Дата 13.3.2009, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



P.S. я бы оформил набор расширений как массив константных значений. 




--------------------
PM MAIL WWW   Вверх
zim22
Дата 13.3.2009, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



всем спасибо. 

Цитата(azesmcar @  13.3.2009,  19:24 Найти цитируемый пост)
не лучше ли std::vector или std::list???

лучше. но мне необходимо было понять, почему этот код не работал smile



--------------------
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0645 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.