C++ 返回typename列表的函数有什么问题<;T>;::迭代器?
可能重复:C++ 返回typename列表的函数有什么问题<;T>;::迭代器?,c++,list,templates,stl,iterator,C++,List,Templates,Stl,Iterator,可能重复: 我写过: template<class T> typename list<T>::iterator partition(list<T> &, list<T>::iterator, list<T>::iterator); 模板 typename list::iterator分区(list&,list::iterator,list::iterator); 但我的编译器发现了一个错误: 错误:“std::list:
我写过:
template<class T>
typename list<T>::iterator partition(list<T> &, list<T>::iterator, list<T>::iterator);
模板
typename list::iterator分区(list&,list::iterator,list::iterator);
但我的编译器发现了一个错误:
错误:“std::list::iterator”不是类型
此功能有什么问题?请尝试:
template<class T>
typename list<T>::iterator partition(list<T> &, typename list<T>::iterator, typename list<T>::iterator);
^^^^^^^^ ^^^^^^^^
模板
类型名列表::迭代器分区(列表和,类型名列表::迭代器,类型名列表::迭代器);
^^^^^^^^ ^^^^^^^^
非常感谢,Xeo!现在我知道了——我刚刚忘记了参数中“列表…”之前的“typename”单词。