[C++] mapa z vector i iterator

0

Witam,

mam problem z uzyciem iteratora dla map:

map<int,vector<double> > trans;
map<int,vector<double> >::iterator iter;
 for(iter = trans.begin(); iter != trans.end(); iter++)
    {
        (*iter).begin();
    }
 return suma;
}

Jak widac elementami mapy sa wektory double a kluczem int, problem wystepuje w linii "(*iter).begin();", kompilator zwraca blad ze "begin" nie jest zadeklarowany (chodzi mi o wywolanie tej metody dla vector<>). Jesli wywoluje to bez iteratorow, np: trans[0].begin() to wszystko jest ok, ale potrzebuje uzyc to iteratorw bo nie znam wszystkich kluczy.

z gory dzieki

0
iter->second.begin()
0

Tak się zastanawiam: czy tak trudno jest użyć standardowych algorytmów?
Są przecież:

for_each, transform, copy, itp.

, gdzie nie trzeba bezpośrednio użyć iteratorów (tych wewnętrznych)... Coś w stylu:

map<int,vector<double> > trans;
void DOIT(const pair<int,vector<double> >&e)
{
//...
}
int main()
{
    for_each( trans.begin(), trans.end(), DOIT );
}

Ładnie i logicznie :]

0
Tak się zastanawiam: czy tak trudno jest użyć standardowych algorytmów?
Są przecież: for_each, transform, copy, itp., gdzie nie trzeba bezpośrednio użyć iteratorów (tych wewnętrznych)... Coś w stylu:
map<int,vector<double> > trans;
void DOIT(const pair<int,vector<double> >&e)
{
//...
}
int main()
{
    for_each( trans.begin(), trans.end(), DOIT );
}
Ładnie i logicznie 

Zgadza sie, probowalem tak najpierw ale nie znalem parametrow jakie przyjmoje ta funkcja (DOIT), wiec musialem uzyc iteratorow. Thx

1 użytkowników online, w tym zalogowanych: 0, gości: 1