Exemplo

class Enclosing {
private:
intfield;
public:
class Nested {
void function(Enclosing *ptr) {
ptr->field = 10;
}
};
};

Solução
Declare a classe aninhada como amigável.

class Enclosing {
private:
int 
field;
public:
friend class Nested;
class Nested {
void function(Enclosing *ptr) {
ptr->
field = 10;
}
};
};