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);
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> > >)'
我使用mingw32 4.4。
我想要一个类,可以写入不同的容器,如std::vector、std::list、QVector或QList,所有这些容器都具有STL风格的迭代器。