Неопределенные ссылки на функции-члены шаблон класса

Я хочу использовать итераторы в методе класса шаблона. Вот мой код: (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.

7
задан pmr 19 February 2012 в 21:51
поделиться