Witam,
mam nietypowe pytanie.. otoz
stworzylem przykladowa klase
class A{
int x;
public:
A() : x(0){}
A(const A& rv) : x(rv.x){}
void setX {x=1;}
};
nastepnie dodaje obiekty typu A do wektora
int test=5;
A tab[test] = {A(),A(),A(),A(),A()};
vector<A> wektor;
for(int i=0; i<test; i++)
wektor.push_back(tab[i]);
i teraz przy pomocy FOR_EACH() chcialbym wywolac dla kazdego z obiektow metode setX(). Wiem, ze to troche bezsensowne moze sie wydawac, ale jak to zastosowac?
Czytalem aby skorzystac z <functional> i tam zastosowac mem_fun_ref, totez tak czynie:
for_each(wektor.begin(), wektor.end(), mem_fun_ref(&A::setX));
ale niestety program sie nie kompliluje..
jak poprawnie to czynic? zalezy mi na uzyciu tego algorytmu for_each(), ewentualnie aby for_each, jako 3 parametr dostawal funckje, ktora uruchamia setX(), ale nie wiem jakby to mialo wygladac. :/
Prosze o pomoc;)