Buenas!
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:
void GameScreen::Draw(void)
{
std::for_each(
components.begin(),
components.end(),
myfunction
);
}
void myfunction(Component cpt)
{
if(cpt.IsVisible)
cpt.Draw();
}
Y este el error que me da:
error: argument of type 'void (GameScreen::)(Component)' does not match 'void (GameScreen::*)(Component)'
También intente hacerlo con una función lambda:
Código:
void GameScreen::Draw(void)
{
std::for_each(
components.begin(),
components.end(),
[](Component cpt)
{
if(cpt.IsVisible)
cpt.Draw();
}
);
}
Pero en este caso me devuelve estos errores:
error: expected primary-expression before '[' token
error: expected primary-expression before ']' token
error: expected primary-expression before 'cpt'
¿ Alguna idea ?