I want to use iterators in template class method. Here is my code: (testclass.h)
template<typename T, typename container>
class TestClassX
{
public:
void gen(typename container::iterator first );
};
and file testclass.cpp:
template<typename T, typename container>
void TestClassX<T, container>::gen(typename container::iterator first)
{
}
When i try to run it:
TestClassX<unsigned, std::vector<unsigned> > testx;
testx.gen(it);
I get an error:
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> > >)'
I use mingw32 4.4
I want to have a class that can write to different containers like std::vector, std::list, QVector or QList all that have STL-style iterators.