简单的怪题,求助···
struct CLS
{
int m_i;
CLS( int i ) : m_i(i) {
}
CLS(){
CLS(0);
}
};
int main()
{
CLS obj;
cout << obj.m_i << endl;
}
结构为1 出乎了我的意料,竟然是1,为什么会是这样?不理解···
[解决办法]
我试了一下:结果输出一个 非常大的负数。意味着m_i没有初始化。
我的推测:CLS(0)这句话有问题。因为构造函数不是函数,所以我们显示的调用是无效的,被忽略了。
[解决办法]