关于迭代器作为参数给函数编译不过有关问题

关于迭代器作为参数给函数编译不过问题不好意思分不多了,麻烦看下#include listtemplatetypename Tcla

关于迭代器作为参数给函数编译不过问题
不好意思分不多了,麻烦看下

#include <list>

template<typename T>
class MyQueue
{
protected:
typedef std::list<T>  LstData;
LstData  m_lstData;

public:
MyQueue(){}
virtual ~MyQueue(){ m_lstData.clear(); };

protected:
bool Find(T &data, LstData::iterator iter)
{
for( ; iter != m_lstData.end(); iter++ )
{
if( data.x ==  iter->x)
{
return true;
}
}
return false;

[解决办法]
试试一下

template<typename T>
class MyQueue
{
protected:
typedef std::list<T>  LstData;
LstData  m_lstData;
typename typedef LstData::iterator ListIteror;
public:
MyQueue(){}
virtual ~MyQueue(){ m_lstData.clear(); };

protected:
bool Find(T &data, ListIteror iter)
{
for( ; iter != m_lstData.end(); iter++ )
{
if( data.x ==  iter->x)
{
return true;
}
}
return false;
}
};


[解决办法]
typename typedef std::list<T>  LstData;