我有一个私人地图成员模板类地图<T,T>:迭代器作为参数类型
template <typename T>
class MyClass
{
public:
MyClass(){}
private:
std::map<T,T> myMap;
}
我想创建一个接受一个迭代地图
void MyFunction(std::map<T,T>::iterator &myIter){....}
的私有方法但是,这会产生一个编译错误:标识符'迭代器'。我不需要传递一个抽象迭代器,因为MyFunction知道它是一个映射迭代器(并且将仅用作myMap的一个interator),并将其视为(访问和修改myIter-> second)。将myIter-> second传递给MyFunction是不够的,因为MyFunction也需要能够++ myIter ;.