出现错误的原因一般类似下面这种代码:
struct Data {
int n;
Data p;
};
原因: 对于Data p,类型名被声明,但是该类还未定义完整,使用声明时,会导致field has incomplete type错误;
解释: 在编译器扫描的过程中,将类的成员读取完成后,才会定义该类,此时类才算完整;按照以上情况,Data p时,类还未定义,无法调用(显示/隐式)构造函数初始化p。
解决办法:
- 使用指针定义
Data *p;
- 改为静态成员定义
static Data p;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)