编译器错误 C3493
无法隐式捕获“var”,因为尚未指定默认捕获模式
空 lambda 表达式捕获 []
指定 lambda 表达式不显式或隐式捕获任何变量。
更正此错误
提供默认捕获模式,或
显式捕获一个或多个变量。
示例
下面的示例生成 C3493,因为它将修改外部变量,但指定空的 capture 子句:
// 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);
}