такого:
auto fun = [=] (auto storage) {
storage = 1;
};
И я её вызываю так:
int bar = 42;
fun(bar);
std::cout << bar << std::endl;
Хочу, чтобы она мне вывела 1, а не 42, т.е. чтобы bar передалось по ссылке. Как мне это сделать? И да, сигнатуру самой лямбды трогать нельзя.
Эээ, никак?)
Передать std::reference_wrapper. Внутренности ведь можно менять?
Ну можешь передавать указатель
Не взлетитскомпилируется.
Добавь * в тело лямбды
Можно, смотря насколько сильно.
Чуть-чуть. Вызвать .get() и всё
Обсуждают сегодня