第一篇博客---记一次因构造函数给我狠狠的教训

之前一直没有写博客的习惯,做了一些东西做了就做了,可是今天因为一点小小的问题让我找了一整天的bug,想以此为教训,鞭挞自己,做过的东西千万啊要掌握、融会贯通,不然就白做了,今天就以此为契机,以后没做一点东西都会养成写博客的习惯,将自己做过的东西记录下来,让自己以后有证可查。

今天的问题很简单,由于构造函数的执行顺序引起的错误,下面贴上伪代码说明,首先是头文件:


class A
{
public:
    B* m_b;
    C* m_c;
    ErrorClass m_err_class;
    D m_d;
}

 

成员变量m_err_class的初始化需要用到m_b、m_c和m_d,A类型的cpp中构造函数如下:

A::A() :
    m_b(new B()),
    m_c(new C()),
    m_err_class(m_b, m_c, &m_d)
    {...}


就是这样的代码,折磨了我一整天,程序总是莫名其妙的报错,百思不得其解,就在刚刚突然发现这个问题,将A头文件里面成员变量声明的顺序改成如下后终于OK了:

class A
{
public:
    B* m_b;
    C* m_c;
    D* m_d;
    ErrorClass m_err_class;
}

竟然让这么简单的问题搞了一天,这是一次血淋淋的教训,希望自己能够更踏实的学习,千万不能昨晚就忘记,每做一点东西都要积累起来,这样日积月累才能使自己强大,加油垃圾!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值