Compiler Error C3493
Visual Studio 2015
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at 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.
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);
}
Show: