Compiler Error C3493
'var' cannot be implicitly captured because no default capture mode has been specified
The empty lambda expression capture, []
, specifies that the lambda expression does not explicitly or implicitly capture any variables.
To correct this error
Provide a default capture mode, or
Explicitly capture one or more variables.
Examples
The following example generates C3493 because it modifies an external variable but specifies the empty capture clause:
// C3493a.cpp
int main()
{
int m = 55;
[](int n) { m = n; }(99); // C3493
}
The following example resolves C3493 by specifying by-reference as the default capture mode.
// C3493b.cpp
int main()
{
int m = 55;
[&](int n) { m = n; }(99);
}