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);
}
See also
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for