diff --git a/tool/resources/org/antlr/v4/tool/templates/codegen/Cpp/Cpp.stg b/tool/resources/org/antlr/v4/tool/templates/codegen/Cpp/Cpp.stg index 2bb1f45ec..2517514e4 100644 --- a/tool/resources/org/antlr/v4/tool/templates/codegen/Cpp/Cpp.stg +++ b/tool/resources/org/antlr/v4/tool/templates/codegen/Cpp/Cpp.stg @@ -491,19 +491,19 @@ Ref\<::\> ::(::\> ::(int precedence}>) { - Ref\ parentContext = _ctx; - int parentState = getState(); - Ref\<::\> result = std::make_shared\<\>(_ctx, parentState}>); - Ref\<::\> previousContext = result; - int startState = ; - enterRecursionRule(result, , Rule::Rule, precedence); + Ref\ parentContext = _ctx; + int parentState = getState(); + Ref\<::\> result = std::make_shared\<\>(_ctx, parentState}>); + Ref\<::\> previousContext = result; + int startState = ; + enterRecursionRule(result, , Rule::Rule, precedence); - auto onExit = finally([this, parentContext] { + auto onExit = finally([&] { - unrollRecursionContexts(parentContext); + unrollRecursionContexts(parentContext); }); try { int alt;