¿Cómo hacer que la lambda sea amiga de una clase?

Digamos que tengo una clase:

class A {
  int a;
};

Y tengo una lambda:

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

function(new A);

¿Hay alguna forma de usar un miembro / método privado dentro de una lambda? - No es necesario pasar el puntero a la lambda; puede ser una captura u otra cosa.

Todos los esquemas razonables son bienvenidos.

Respuestas a la pregunta(3)

Su respuesta a la pregunta