有问题的模板:
//输出pos开始之后的n个元素(包含pos)
template <class T>
inline void print_elements(typename T::iterator& pos, int n)
{
for (int i = 0; i < n; ++i)
{
std::cout<<*pos<<",";
++pos;
}
std::cout<<std::endl;
}
无问题的模板:
//输出pos开始之后的n个元素(包含pos)
template <class T>
inline void print_elements(const T& coll, typename T::iterator& pos, int n)
{
for (int i = 0; i < n; ++i)
{
std::cout<<*pos<<",";
++pos;
}
std::cout<<std::endl;
}
就体现在第一个参数有无,暂时没找着原因....