第一种情况:
class x
{
public:
x(){}
int mem;
}
第二种情况:
class x
{
public:
int mem;
}
int main()
{
x a;
std::cout << a.mem; //member not initialized error in second case
}
如果我们不定义默认构造函数,编译器会加一个;构造函数的功能是初始化内存。那么为什么在第二种情况下会出错,而在第一种情况下却没有呢?