If we are writing a lambda that requires access to members of an object, we need to capture the parent object (i.e. capture 'this').
The options on how to achieve this have changed in C++17 and C++20, and the interactions with implicit captures [=]{} and [&]{} can be non-obvious.
Compiler Explorer link: https://compiler-explorer.com/z/W7MWGMKdx