B{
B(int a){m_a = a;}
int m_a;
}
A
{
A(){}
B b;
}
A a; 则这句话会出错,应该在构造A的时候,也回去构造B,但是B没有默认构造函数。导致出错
除非对于B增加一个B(){}这样的默认构造函数才可以。
这个问题折腾我两天了。 我的那个是派生类老是报这个错误。我老是以为是基类的错误。
今天才发现是那个类成员变量里面有一个是别的类的成员。这个类成员没有默认构造函数导致的。
看来还是C++基础不扎实呀。哎。
其实我觉得平时看书对于这些知识老是没有很深的印象,只有遇到这些问题又解决了才会印象很深。
呵呵