你如何从CObject继承并成功编译?

时间:2010-02-16 09:29:28

标签: mfc inheritance

我正在尝试继承CObject,但我没有这样做。 我的班级看起来像这样:

class CCanMessage : public CObject
{
public:
    CCanMessage(void);
    ~CCanMessage(void);

    unsigned int m_id; //can-id
    CANMessageTypes m_msgType; //this is an enum 
    unsigned char m_len;
    char *m_pCmdStr;            
};

构造函数和析构函数为空。

当我编译时,我得到error C2248: 'CObject::CObject' : cannot access private member declared in class 'CObject'。我一直在寻找一段时间的解释而没有找到解释。我认为错误很简单,但我似乎无法找到它。

值得注意的是,如果我不在任何地方使用CCanMessage类,则编译错误消失。错误指向类的声明,而不是指向我使用该类的任何地方。

1 个答案:

答案 0 :(得分:1)

我认为你的问题是来自CObject(afx.h)的这部分:

private:
CObject(const CObject& objectSrc);              // no implementation
void operator=(const CObject& objectSrc);       // no implementation

尝试为CCanMessage提供复制构造函数和赋值运算符的实现。