He intentado usar un std::for_each para iterar a traves de los elementos de un list. El problemas es que no consigo que funcione.
Este es el código:
Código:
Y este el error que me da:void GameScreen::Draw(void) { std::for_each( components.begin(), components.end(), myfunction ); } void myfunction(Component cpt) { if(cpt.IsVisible) cpt.Draw(); }
error: argument of type 'void (GameScreen::)(Component)' does not match 'void (GameScreen::*)(Component)'
También intente hacerlo con una función lambda:
Código:
Pero en este caso me devuelve estos errores:void GameScreen::Draw(void) { std::for_each( components.begin(), components.end(), [](Component cpt) { if(cpt.IsVisible) cpt.Draw(); } ); }
error: expected primary-expression before '[' token
error: expected primary-expression before ']' token
error: expected primary-expression before 'cpt'
¿ Alguna idea ?