Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не могу добраться до итератора в шаблонном векторе 
:(
    Опции темы
nvrrus
Дата 24.10.2011, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте, уважаемые форумчане. Подскажите, пожалуйста, может кто сталкивался с такой проблемой. 

Пишу обертку над std::vector в QT так:

Код

template<typename T >
class EXPLIB C_VectorW : public C_Serialization
{
private:
std::vector<T> m_vec;

public:
    C_VectorW() { }
    C_VectorW(const vector<T>& Vec) { m_vec = Vec;  }
    C_VectorW(const C_VectorW<T>& Vec) { m_vec = Vec.m_vec; }
    virtual ~C_VectorW() {}

    unsigned int size() const { return m_vec.size(); }
    void clear() { m_vec.clear(); }
    void push_back(const T& data) { m_vec.push_back(data); }
    void erase(std::vector<T>::iterator it)
    {

    }
};


Пытаюсь реализовать метод erase, связав его с итератором на std::vector<T>
Ругается - 'std::vector<T>::iterator' - is not a type 

Что сделать, чтобы реализовать функцию erase с итераторами? Как подружить класс обертку с итераторами?

Заранее большое спасибо!


PM MAIL   Вверх
newbee
Дата 24.10.2011, 17:57 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бревно
**


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

Репутация: 1
Всего: 19



typename std::vector<T>::iterator
попробуй

Это сообщение отредактировал(а) newbee - 24.10.2011, 17:57


--------------------
You're face to face
With man who sold the world
PM   Вверх
nvrrus
Дата 27.10.2011, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо, уважаемый newbee.

Свою проблему решил использованием std::vector - вытаскиваю его из прослойки, где это нужно.

Но такой вариант 

Код

class EXPLIB C_VectorW : public C_Serialization
{
private:
    vector<T> m_vec;
    typename std::vector<T>::iterator m_iterator;

....
};


валится с segmentation fault
PM MAIL   Вверх
spyswamp
Дата 2.11.2011, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 1
Всего: 7



nvrrus, итераторы после изменения вектора пересоздаешь? Старые работать не будут, отсюда и SF.


--------------------
- why you call it beta?
- cuz it's betta then nothin'
PM MAIL   Вверх
nvrrus
Дата 3.11.2011, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



spyswamp, спасибо, за объяснение!
PM MAIL   Вверх
_GRIN_
Дата 9.11.2011, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


одинокий падаван
**


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

Репутация: 6
Всего: 7



А чем QVector не подходит?


--------------------
Дорогу осилит идущий
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

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

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




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


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

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