J'ai une classe de modèle avec un membre de la carte privéecarte <T,T> :: iterator comme type de paramètre
template <typename T>
class MyClass
{
public:
MyClass(){}
private:
std::map<T,T> myMap;
}
Je voudrais créer une méthode privée qui accepte un itérateur à la carte
void MyFunction(std::map<T,T>::iterator &myIter){....}
Cependant, ceci génère une erreur de compilation: identifiant 'itérateur'. Je n'ai pas besoin de passer un itérateur abstrait car MyFunction sait qu'il s'agit d'un itérateur de carte (et ne sera utilisé que comme un interacteur pour myMap) et le traitera comme tel (accédant et modifiant myIter-> second). Passer myIter-> second à MyFunction n'est pas suffisant car MyFunction devra également être capable de ++ myIter ;.