У меня есть класс шаблона с собственным членом картыкарты <T,T> :: итератор в качестве параметра типа
template <typename T>
class MyClass
{
public:
MyClass(){}
private:
std::map<T,T> myMap;
}
Я хотел бы создать приватный метод, который принимает итератор на карту
void MyFunction(std::map<T,T>::iterator &myIter){....}
Однако это получает ошибку компиляции: идентификатор 'iterator'. Мне не нужно передавать абстрактный итератор, так как MyFunction знает, что это итератор карты (и будет использоваться только как interator для myMap) и будет рассматривать его как таковой (доступ и изменение myIter-> second). Передача myIter-> second на MyFunction недостаточно, так как MyFunction также должен иметь возможность ++ myIter ;.