2

我有一个带有 std::function 参数的函数。我希望 std::function 有一个 bool& 参数:

void function(std::function<bool(bool&)> lambda);

但是没有强制执行 ref 约束,我可以拥有:

auto lambda = [](bool canceled) ->bool{};

或者

auto lambda = [](bool& canceled) ->bool{};

编译器是 MSVC 2010。

注意

第一个示例为 bool 使用了一个 const ref,因为 bool 变量在另一个线程中发生了更改,我需要跟踪其用于 ref 的值。而且我不能在 lambda 中修改它,因此是 const。

4

0 回答 0