求助 关于 CObject

张亚成 2015-05-26 12:38:45
struct toolTipInfo : public CObject
{
public:
UINT nControlID;
UINT nInfoSize;
CStringArray arrControlInfo;
COLORREF crText;
COLORREF crBack;
toolTipInfo()
{

}
};

定义了这么一个类, 结果出现问题

1>e:\test\练习与工作\第二章\temp\mouseinfotip\mouseinfotip\mfctooltip.h(19) : error C2248: “CObject::CObject”: 无法访问 private 成员(在“CObject”类中声明)
1> e:\安装\vs2005\vc\atlmfc\include\afx.h(558) : 参见“CObject::CObject”的声明
1> e:\安装\vs2005\vc\atlmfc\include\afx.h(529) : 参见“CObject”的声明
...全文
181 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2015-06-26
  • 打赏
  • 举报
回复
您好 我是本版版主 此帖已多日无人关注 请您及时结帖 如您认为问题没有解决可按无满意结帖处理 另外本版设置了疑难问题汇总帖 并已在版面置顶 相关规定其帖子中有说明 您可以根据规定提交您帖子的链接 如您目前不想结帖只需回帖说明 我们会删除此结帖通知 见此回复三日内无回应 我们将强制结帖 相关规定详见界面界面版关于版主结帖工作的具体办法
schlafenhamster 2015-05-26
  • 打赏
  • 举报
回复
为什么 struct 不是class
redui 2015-05-26
  • 打赏
  • 举报
回复
CObject的默认构造函数应该是protected才对,怎么会是private呢?仔细看看CObject的类申明,如果真的是private,说明系统文件被更改了
zgl7903 2015-05-26
  • 打赏
  • 举报
回复
估计有结构体/类之间赋值的情况 需要添加 operator= 的实现

struct toolTipInfo : public CObject
{
public:
  UINT nControlID;
  UINT nInfoSize;
  CStringArray arrControlInfo;
  COLORREF crText;
  COLORREF crBack;
  toolTipInfo()
  {
  }

  virtual void operator=(const toolTipInfo & other)
  {
    nControlID = other.nControlID;
    nInfoSize = other.nInfoSize;
    arrControlInfo.Copy( other.arrControlInfo );
    crText = other.crText;
    crBack = other.crBack;
  }
};

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧