Код: Выделить всё
int main() {
int n = 0;
return [n] { return n; }(); // ok
}
Код: Выделить всё
int main() {
int n = 0;
class __lambda_3_12 {
public:
inline /*constexpr */ int operator()() const {
return n;
}
private:
int n;
public:
__lambda_3_12(int& _n) : n{_n} {
}
} __lambda_3_12{n};
return __lambda_3_12.operator()();
}
< /code>
Однако следующий код плохо сформирован: < /p>
int main() {
int n = 0;
// error: invalid use of 'this' outside of a non-static member function
return [n] { return this->n; }();
}
Подробнее здесь: https://stackoverflow.com/questions/796 ... -a-functor
Мобильная версия