Wpadam w problem z kołowym uzależnieniem w klasie szablonowej. Jest to przykładowy kod:C++ - zależność okrągła (używając wewnętrznego typu podklasy w szablonowej klasie bazowej)
template <typename T> struct A
{
typedef typename T::C D;
//typename T::C c;
};
struct B : public A<B>
{
struct C {};
};
Kiedy próbuję instancję B, otrzymuję błąd kompilatora: „c” nie jest członkiem „B” (MSVC) lub Nieprawidłowe użycie niekompletnej typu ' struct B ' (GCC).
Jaki jest najlepszy sposób na zmianę próbki, aby działała?
Nie możesz. Podaj nieco bardziej kompletny przykład problemu, który próbujesz rozwiązać, a my możemy popatrzeć na refaktoryzację kodu. –