【发布时间】:2020-06-06 11:13:55
【问题描述】:
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;
}
如果我将drawLoop 更改为函数。
bool drawLoop()
{
// Error, cannot find cubeRenderer
cubeRenderer.draw();
textRenderer.draw();
return true;
}
如何像 lambda 捕获一样引用函数外部的变量?
【问题讨论】: