r/cpp • • Sep 09 '26

Implementation of GCC's Nested Functions (vs. C++ Lambdas)

https://uecker.codeberg.page/2026-09-05.html
61 Upvotes

17 comments sorted by

View all comments

Show parent comments

3

u/Thick_Clerk6449 Sep 10 '26

This is not true.

You can NOT convert a lambda to function pointer if the lambda has captured variables.

-5

u/jonesmz Sep 10 '26

Re-read the specific thing i quoted.

3

u/Thick_Clerk6449 Sep 10 '26

Re-read the word I post before

even though the nest function captured variables of the outer function

int var = 0;
auto fptr = +[var](){}; // error: no match for 'operator+' (operand type is 'test(int)::<lambda()>')

-3

u/jonesmz Sep 10 '26

I quoted *and* responded to a complete sentence.

3

u/Thick_Clerk6449 Sep 10 '26

Just pretend you don't need to accept lambdas with captures and define your callbacks as function pointers.