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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> какая-то необычная ошибка при использовании-, std::set::begin().  
V
    Опции темы
boostcoder
Дата 9.8.2011, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


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

Репутация: 49
Всего: 110



в таком коде:
Код

#include <iostream>
#include <sstream>
#include <string>
#include <set>
#include <iterator>
#include <algorithm>

struct comparator {
   template<typename T>
   bool operator()(const T& l, const T& r) const {
      return l < r;
   }
};

static const char* strings =
"Wdsan"
"dsasan"
"ffdsn"
"ytyn";

int main() {
   std::istringstream is(strings);
   
   std::set<std::string> myset(
      std::istream_iterator<std::string>(is),
      std::istream_iterator<std::string>(),
      comparator()
   );

   std::set<std::string>::const_iterator it = myset.begin();
   for ( ; it != myset.end(); ++it ) {
      std::cout << *it << std::endl;
   }
}

http://liveworkspace.org/code/c2d4bbb7b9cc...2d84b7db175992c
получаю такую ошибку:
Цитата

source.cpp:30:53: error: request for member 'begin' in 'myset', which is of non-class type 'std::set<std::basic_string<char> >(std::istream_iterator<std::basic_string<char> >, std::istream_iterator<std::basic_string<char> > (*)(), comparator (*)())'
source.cpp:31:24: error: request for member 'end' in 'myset', which is of non-class type 'std::set<std::basic_string<char> >(std::istream_iterator<std::basic_string<char> >, std::istream_iterator<std::basic_string<char> > (*)(), comparator (*)())'

и никак не могу понять чего он от меня хочет.. smile 
PM WWW   Вверх
azesmcar
Дата 9.8.2011, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


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

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



boostcoder

На грабли наступаешь? smile 
замени на
Код

std::set<std::string> myset(
        (std::istream_iterator<std::string>(is)),
        (std::istream_iterator<std::string>()),
        comparator()
        );

PM   Вверх
mes
Дата 9.8.2011, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(boostcoder @  9.8.2011,  11:00 Найти цитируемый пост)
получаю такую ошибку:

говорит, что функцию вы объвили, а не объект  smile

Добавлено @ 12:22
о, уже ответили smile


Это сообщение отредактировал(а) mes - 9.8.2011, 12:23


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


uploading...
****


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

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



PM   Вверх
borisbn
Дата 9.8.2011, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 22
Всего: 135



и ещё:
Цитата(boostcoder @  9.8.2011,  12:00 Найти цитируемый пост)
static const char* strings =

strings, не смотря на название, не строки, а строка

Добавлено через 2 минуты и 11 секунд
Хотя... я начинаю догадываться... LWS удаляет символ \ из строк...
т.е. было
Цитата

static const char* strings =
"Wdsa\n"
"dsasa\n"
"ffds\n"
"yty\n";

?

Кста, boostcoder, а нельзя ли сделать, чтоб он (LWS) этого не делал ?


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
boostcoder
Дата 9.8.2011, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


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

Репутация: 49
Всего: 110



Цитата(azesmcar @  9.8.2011,  12:21 Найти цитируемый пост)
На грабли наступаешь?

так а чтож он мне говорит что ошибка при попытке получить итератор?! smile 
###!

Добавлено через 1 минуту и 25 секунд
Цитата(borisbn @  9.8.2011,  12:51 Найти цитируемый пост)
а нельзя ли сделать, чтоб он (LWS) этого не делал ?

пока нет..

Добавлено через 13 минут и 56 секунд
аа, понял smile
все равно ###!

Это сообщение отредактировал(а) boostcoder - 9.8.2011, 13:05
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

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

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


 




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


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

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