Esempio

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

Soluzione
Dichiarare la classe nidificata come comune.

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