Я хочу использовать итераторы в методе класса шаблона. Вот мой код: (testclass.h)
template<typename T, typename container>
class TestClassX
{
public:
void gen(typename container::iterator first );
};
и файл testclass.cpp:
template<typename T, typename container>
void TestClassX<T, container>::gen(typename container::iterator first)
{
}
Когда я пытаюсь запустить его:
TestClassX<unsigned, std::vector<unsigned> > testx;
testx.gen(it);
Я получаю сообщение об ошибке:
Error:undefined reference to `TestClassX<unsigned int, std::vector<unsigned int, std::allocator<unsigned int> > >::gen(__gnu_cxx::__normal_iterator<unsigned int*, std::vector<unsigned int, std::allocator<unsigned int> > >)'
Я использую mingw32 4.4
Я хочу есть класс, который может писать в разные контейнеры, такие как std :: vector, std :: list, QVector или QList, все они имеют итераторы в стиле STL.