模板类中定义std::list::iterator iter在Linux下不识别的解决方法。

template
void CCommList::Clear()
{
        std::list::iterator iter = infolist.begin();
        for (; info_iter!=infolist.end(); info_iter++)
        {
                delete &*info_iter;
        }
        infolist.clear();
}

修改如下即可

typename std::list::iterator iter = infolist.begin();

编译器不知道list::iterator是代表一个类型
还是代表list类中的一个成员,叫做iterator。
 

你可能感兴趣的:(LINUX)