編譯器錯誤 C3480
'var': Lambda 擷取變數必須來自封入函式範圍
Lambda 擷取變數不是來自封入函式範圍。
更正這個錯誤
- 請從 Lambda 運算式的擷取清單移除變數。
範例
下列範例會產生 C3480,因為變數 global
不是來自封入函式範圍:
// C3480a.cpp
int global = 0;
int main()
{
[&global] { global = 5; }(); // C3480
}
下列範例會藉由從 Lambda 運算式的擷取清單移除變數 global
而解決 C3480:
// C3480b.cpp
int global = 0;
int main()
{
[] { global = 5; }();
}