недопустимое использование неполного типа (случай вложенного класса)

Как я могу реализовать такую ​​идею в C ++, не попадая в проблему «недопустимого использования неполного типа»?

class A {
/*(...) some fields and methods here. */
class B {
/*(...) some fields and methods here. */
friend B A::fun();
};
B fun();
};

2

Решение

Это работает для меня:

struct A {
class B;
B fun();
class B {
friend B A::fun();
};
};
3

Другие решения

Других решений пока нет …