コンパイラ エラー C3493
既定のキャプチャ モードが指定されていないため、'var' を暗黙的にキャプチャできません
空のラムダ式のキャプチャである []
は、ラムダ式が明示的にも暗黙的にも変数をキャプチャしないことを指定します。
このエラーを解決するには
既定のキャプチャ モードを指定するか、または
1 つ以上の変数を明示的にキャプチャします。
例
次の例では、外部変数を変更しているが、空のキャプチャ句を指定していないため、C3493 が生成されます。
// C3493a.cpp
int main()
{
int m = 55;
[](int n) { m = n; }(99); // C3493
}
次の例では、既定のキャプチャ モードとして参照渡しを指定することによって C3493 を解決しています。
// C3493b.cpp
int main()
{
int m = 55;
[&](int n) { m = n; }(99);
}