7
我遇到了模板类中的循环依赖问题。有一个代码示例:循环依赖(在模板化基类中使用内部类型的子类)
template <typename T> struct A
{
typedef typename T::C D;
//typename T::C c;
};
struct B : public A<B>
{
struct C {};
};
当我尝试实例B,I得到一个编译错误:“C”不是“B”(MSVC)或无效使用不完整的类型的'的一个成员结构B'(GCC)。
更改样本以使其起作用的最佳方法是什么?
你不能。提供你想要解决的问题的一个更完整的例子,我们可以看看重构代码。 –