【发布时间】:2010-11-10 12:28:36
【问题描述】:
template<class T>
class Set
{
public:
void insert(const T& item);
void remove(const T& item);
private:
std::list<T> rep;
}
template<typename T>
void Set<T>::remove(const T& item)
{
typename std::list<T>::iterator it = // question here
std::find(rep.begin(),rep.end(),itme);
if(it!=rep.end()) rep.erase(it);
}
为什么需要 remove() 中的 typename?
【问题讨论】:
-
也许编辑以更清楚地表明您正在谈论的行是 typename std::list
::iterator it = std::find(rep.begin(),rep.end( ),itme);因为我认为这是你的意图。
标签: c++