Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
'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);
}