Tempold sınıfında döngüsel bağımlılık sorunuyla karşılaşıyorum. Ben B örneğini çalıştığınızdaC++ - dairesel bağımlılık (templated taban sınıfında alt sınıfın iç tipini kullanarak)
template <typename T> struct A
{
typedef typename T::C D;
//typename T::C c;
};
struct B : public A<B>
{
struct C {};
};
, bir derleyici hatası alıyorum: 'C' 'B' (MSVC) veya eksik Çeşidi Geçersiz kullanım 'üyesi olmayan bir kod örneği yoktur Yapı B ' (GCC).
Çalışması için örneği değiştirmenin en iyi yolu nedir?
Yapamazsınız. Çözmeye çalıştığınız sorunun biraz daha eksiksiz bir örneğini sağlayın ve kodun yeniden düzenlenmesine bakabiliriz. –