加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c中的初始化列表

发布时间:2020-12-16 09:35:09 所属栏目:百科 来源:网络整理
导读:我几乎不知道c.不是专家. 我正在查看已有的代码. 我无法理解以下代码. typedef enum{ eEvent_MsgOk,eEvent_InvalidMsgId,eEvent_Failure,} eEventType;class Rs232Event{public: Rs232Msg* m_pMsg; eEventType m_eEvent; }Rs232Event::Rs232Event(eEventType
我几乎不知道c.不是专家.

我正在查看已有的代码.
我无法理解以下代码.

typedef enum
{
    eEvent_MsgOk,eEvent_InvalidMsgId,eEvent_Failure,} eEventType;

class Rs232Event
{
public:
    Rs232Msg*     m_pMsg;    
    eEventType     m_eEvent;   

}
Rs232Event::Rs232Event(eEventType eEvent,Rs232Msg* pMsg)
 :  m_pMsg(pMsg),m_eEvent(eEvent)
{
    // not implemented on purpose
}

在这里使用初始化列表,他们正在初始化值.

但是Rs232Msg类没有一个参数化构造函数.

但它有一个接受4个参数的构造函数.

我无法确定如何调用它.但代码运行时没有任何错误.

解决方法

m_pMsg不是Rs232Msg类.相反,它是一个指向Rs232Msg类的指针.所有被复制的都是指向该类已经存在的实例的指针,因此这里不会调用构造函数.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读