hakain
@hakain
Немного знаю С/С++, Qt, и микроконтроллеры

Как получить итератор вектора с типом структуры в шаблоннном классе?

Есть класса А.
Внутри него есть структура, которая содержит поле с шаблонным типом.
В функции f() мне нужно к примеру получить итератор (в моем случае для поиска).
Но почему я не могу объявить итератор?
Получается в таком виде я вообще не могу работать с итераторами?

template<typename T>
class A {
public:
    A();
    ~A();
    void f(void* o);

    typedef struct {
        T* t;
        int i;
    } t_t;

    std::vector<t_t> v;
};

template <typename T>
A<T>::A() {}

template <typename T>
A<T>::~A() {}

template <typename T>
void A<T>::f(void* o) {
    // объявление итератора не работает    
    // std::vector<t_t>::iterator it = v.begin();
    static_cast<T*>(o)->push();
}
  • Вопрос задан
  • 323 просмотра
Решения вопроса 1
Nipheris
@Nipheris Куратор тега C++
typename std::vector<t_t>::iterator it = v.begin();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы