Jesteśmy dwojgiem uczniów i mamy teraz wielki epicki problem, którego nie możemy rozwiązać. Poprosiliśmy naszego nauczyciela o pomoc, ale on nie może nam pomóc, więc naszą ostatnią szansą jest to forum!Jak uzyskać dostęp do drugiego iteratora map?
Wykonujemy projekt: interpreter poleceń plików NPI.
map<string,void(Interpreteur::*)()>::iterator trouve = interpreteur.myMap.find(saisie);
if(trouve == interpreteur.myMap.end())
cerr<<"command not found"<<endl;
else
(trouve->*second)();
Musimy użyć obiektu o nazwie "map", ale nie możemy uzyskać drugiego parametru o nazwie .. "Second". Czemu? Bloki kodu powiedział nam, że błąd jest w "inny", tu jest błąd:
'second' was not declared in this scope.
Próbowaliśmy też:
map<string,void(Interpreteur::*)()>::iterator trouve = interpreteur.myMap.find(saisie);
if(trouve == interpreteur.myMap.end())
cerr<<"command not found"<<endl;
else
(trouve.second)();
i kod bloki odpowiedział:
error: 'std::map, void (Interpreteur::*)()>::iterator' has no member named 'second'
Jeśli ktoś może nam pomóc, uratuje nasz projekt, musimy zakończyć go na jutro. Będziemy bardzo wdzięczni.
Dziękuję bardzo za pomoc, możemy odpowiedzieć na pytania, czy są jakieś :)