У меня есть следующий вопрос, касающийся C ++ Lambdas: почему первый захват (на PF) с помощью L-значения не допускается, но второй-(PF2)? Я хочу понять техническую причину ошибки компилятора, утверждая, что это не так (нет (error: cannot capture (10 * z) by reference).
Большое спасибо заранее. Это сообщество качает, и я заранее прошу прощения, если в прошлом были дублируемые вопросы по одной и той же теме. Я не смог их найти. < /P>
#include
#include
using namespace std;
int main () {
int z = 10;
// not allowed
auto pf = [&z = 10*z](int x) {
++z;
cout
Подробнее здесь: https://stackoverflow.com/questions/795 ... -reference