2

std::function パラメーターを取る関数があります。std::function に bool& 引数を持たせたい:

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

しかし、ref 制約は適用されません。

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

また

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

コンパイラはMSVC2010です。

注意

最初の例では bool に const ref を使用しました。これは、bool 変数が別のスレッドで変更され、ref の値を追跡する必要があるためです。そして、ラムダでは変更できないため、const.

4

0 に答える 0