Как сделать лямбду другом класса?

Допустим, у меня есть класс:

class A {
  int a;
};

И у меня есть лямбда

auto function = [](A* a) {
  a->a;  // <== gives an error in this line.
};

function(new A);

Есть ли способ использовать закрытый член / метод внутри лямбды? - Нет необходимости передавать указатель на лямбду - это может быть захват или что-то еще.

Все разумные схемы приветствуются.

Ответы на вопрос(3)

Ваш ответ на вопрос