samedi 6 juin 2020

"lambda capture" on regular function?

 void startDrawLoop(function<bool()> func)
        {
        while (func()) {} 
        }

    int main() 
    {
    CubeRenderer cubeRenderer; TextRenderer textRenderer;

    // Do initialization

    auto drawLoop=[&] () 
    {
    cubeRenderer.draw();
    textRenderer.draw();
    return true;
    } 
    startDrawLoop(drawLoop);
    return 0;
    } 

If I change drawLoop to a function.

bool drawLoop()
{
// Error, cannot find cubeRenderer
cubeRenderer.draw();
textRenderer.draw();
return true;
} 

How can I make reference to variables outside the function like what lambda captures do?

Aucun commentaire:

Enregistrer un commentaire