Forward declaration of nested types/classes in C++
c++, class, forward-declaration, nested
Solution
You can't do it, it's a hole in the C++ language. You'll have to un-nest at least one of the nested classes.
Problem
I recently got stuck in a situation like this: ``` class A { public: typedef struct/class {…} B; … C::D *someField; } class C { public: typedef struct/class {…} D; … A::B *someField; } ``` Usually you can declare a class name: ``` class A; ``` But you can't forward declare a nested type, the following causes compilation error. ``` class C::D; ``` Any ideas?