C++ 错误C2079:&x27;X::X';使用未定义的结构';T';
以下示例出错,因为C++ 错误C2079:&x27;X::X';使用未定义的结构';T';,c++,incomplete-type,C++,Incomplete Type,以下示例出错,因为X使用了未定义的struct struct T; struct X { X() { } T x; }; struct T { T() { w = new X(); } X *w; }; int main() { } 解决这个问题的一种方法是在struct X中使用指针成员,而不是像T*X那样使用完整类型。在不改变任何代码类型的情况下,有什么棘手的方法来解决这个问题吗?交换它们并概述T的构造函数。这样,T和X在需要的地方都是完整的
X
使用了未定义的struct
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() { }
也许先定义T,因为X似乎只使用指向X的指针。