$ g++ -std=c++17 -Wall lvalue-and-rvalue.cpp
lvalue-and-rvalue.cpp: In lambda function:
lvalue-and-rvalue.cpp:15:16: error: ‘object’ is not captured
15 | f([]{ return object; }());
| ^~~~~~
lvalue-and-rvalue.cpp:15:6: note: the lambda has no capture-default
15 | f([]{ return object; }());
| ^
lvalue-and-rvalue.cpp:11:7: note: ‘int object’ declared here
11 | int object {};
| ^~~~~~
再現コード
実行結果
おまけ
https://twitter.com/TartanLlama/status/1283816537778982914 を思い出した。
試しに
objectをconstexprにしたらコンパイルされた。