The problem is that lambdas with a capture aren’t strongly typed are uniquely typed, so you have to use decltype/auto. And if you pass such a lambda to a function you’ll have to use auto as well.
If you write a lambda with a capture that calls itself recursively you’ll have to pass it to itself as an auto argument as part of the call signature.
The problem is that lambdas with a capture
aren’t strongly typedare uniquely typed, so you have to use decltype/auto. And if you pass such a lambda to a function you’ll have to use auto as well.If you write a lambda with a capture that calls itself recursively you’ll have to pass it to itself as an auto argument as part of the call signature.
I think this article explains it better: https://artificial-mind.net/blog/2020/09/12/recursive-lambdas
Edit: fixed wrong terminology
This is an entirely new way to misuse “strongly typed” that I was not aware of before. Amazing.
Thank you!
You’re welcome. Just don’t blame me when your brain starts cursing in foreign languages you don’t even know. ;)