コンパイラ エラー C3480
'var': ラムダ キャプチャ変数は、外側の関数スコープの変数である必要があります
ラムダ キャプチャ変数が外側の関数スコープの変数ではありません。
このエラーを解決するには
- ラムダ式のキャプチャ リストから変数を削除します。
例
変数 global
が外側の関数スコープではないため、次の例では C3480 が生成されます。
// C3480a.cpp
int global = 0;
int main()
{
[&global] { global = 5; }(); // C3480
}
次の例では、ラムダ式のキャプチャ リストから変数 global
を削除することによって C3480 を解決しています。
// C3480b.cpp
int global = 0;
int main()
{
[] { global = 5; }();
}