![](/img/trans.png)
[英]error C2079: 'stackNameSpace::StackNode<T>::value' uses undefined class
[英]error C2079: 'X::x' uses undefined struct 'T'
以下示例是错误的,因为X
使用未定义的struct T
struct T;
struct X {
X() { }
T x;
};
struct T
{
T() { w = new X(); }
X *w;
};
int main() { }
我可以解决此问题的一种方法是在struct X
使用指针成员,而不是将T *x
作为完整类型。 有什么棘手的方法可以解决此问题而无需更改代码中的任何类型?
交换它们并概述T
的构造函数。 这样, T
和X
都在需要的地方完成。
struct X;
struct T
{
T();
X *w;
};
struct X {
X() { }
T x;
};
T::T() { w = new X(); }
int main() { }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.