cpx*_*cpx 2 c++ incomplete-type
以下示例出错,因为X
使用了undefinedstruct T
struct T;
struct X {
X() { }
T x;
};
struct T
{
T() { w = new X(); }
X *w;
};
int main() { }
Run Code Online (Sandbox Code Playgroud)
我可以解决这个问题的一种方法是使用指针成员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() { }
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
834 次 |
最近记录: |