在使用诸如:CArray或是 CList等类时,经常会出现此错误

此错误的原因是由于自定义的类的数组项时

有一个操作如  Add()  在这个操作中,实际上需要一个 = 操作,但是这个 =操作在 自定义类中没有实现,于是,程序自动去它的parent 类 也就是 CObject 类去找,但是却找到个这个类的 = 是一个 private  于是就报了这个错误.

知道了原因解决方法自然就有了,那就是在自定义类中 重载操作符 =   重载后 这个错误就没有了.

class COptRect : public CObject
{public:COptRect();virtual ~COptRect();// 操作的起始范围
    CRect m_OptStartRect;// 操作的结束范围
    CRect m_OptEndRect;// 操作的目标界面int m_OptDesSurface;COptRect& operator = (COptRect & src);};

实现代码

COptRect::COptRect(): m_OptDesSurface(0)
{
}COptRect::~COptRect()
{
}COptRect& COptRect::operator = (COptRect & src)
{this->m_OptDesSurface = src.m_OptDesSurface;this->m_OptEndRect = src.m_OptEndRect;this->m_OptStartRect = src.m_OptStartRect;return *this;
}

那么在实现了这个自定义类后,开始使用它

先定义变量数组

CArray<COptRect, COptRect&> optArray;

在这个数组后,我们使用一个添加新元素的命令

// 向界面添加一个操作区域
void CSurface::AddOptRect(CRect Start, CRect End, int DesID)
{COptRect ort;ort.m_OptStartRect = Start;ort.m_OptEndRect = End;ort.m_OptDesSurface = DesID;optArray.Add(ort);
}

如此操作后,不再报上面的错误!问题解决

转载于:https://www.cnblogs.com/lujin49/p/4958545.html

VC++ error C2248: “CObject::CObject”: 无法访问 private 成员(在“CObject”类中声明)相关推荐

  1. qt程序报错error C2248: “ThreadTest::ThreadTest”: 无法访问 private 成员(在“ThreadTest”类中声明)

    问题: 在qt程序中新增一个类,未继承任何类,后来增加继承类的时候,添加继承类和Q_OBJECT宏后编译报错: error C2248: "ThreadTest::ThreadTest&qu ...

  2. 错误 C2248 “Bus::operator ()”: 无法访问 private 成员(在“Bus”类中声明)

    vocter容器在使用algorithm的find以及find_if中出现的无法访问private成员变量问题 vector<Bus>bus class Bus { private:int ...

  3. 05-----关于C++使用VS时出现 error C2248: “xxx“ 无法访问private成员(在“MySpdlog“类中声明)

    一 问题描述 项目中遇到一下问题,需要写个测试程序,但是在搭建的过程中,出现错误的,心想,代码一样的,怎么就报错了呢.于是开始查找问题. 错误如下: 因为我的测试程序文件不算多,就5个,代码也不多,于 ...

  4. “CObject::operator =”: 无法访问 private 成员(在“CObject”类中声明)

    c++工程编译报错: "CObject::operator =": 无法访问 private 成员(在"CObject"类中声明) 错误无法直接定位源码位置,网 ...

  5. c++编译报错 error c2248: “xxx:xxx“:无法访问private成员(在“xxx“类中声明)

    在定义类时,将构造函数放在了private或protected里面,编译时都会出现类似错误 t.cpp class Ca{private:Ca(){} }; int main(){Ca a;retur ...

  6. error C2248: “CObject::CObject”: 无法访问private 成员(在“CObject”类中声明)

    MFC编程时遇到此问题,原因和解决方法如下: 问题代码:        BayesTest bTest(m_ModelPath);        BayesCategoryTest(bTest, m_ ...

  7. 关于“C2248 QString::QString 无法访问private成员的问题”

    直接上图: 第252行,想通过const char* 在QJsonArray中定位相应的QJsonObject对象出来,就报了这个错. 网上找找,遇到这个问题的人很少,没什么回答.但有位哥们儿言简意赅 ...

  8. error C2248: “CObject::CObject”: 无法访问 private 成员(在“CObject”类中声明) [问题点数

    请问大家是不是继承了CObject的类,就不能做为函数的参数? 我写了这样一个方法: int FindItem(CStringArray pstrArray,CString strSource) { ...

  9. error C2248: “CObject::CObject”: 无法访问 private 成员(在“CObject”类中声明)

    原因 首先说明原因,这是由于对CObject对象进行直接拷贝导致的,在MFC中,大部分对象都是继承自​​CObject.然而,​​CObject对象没有实现拷贝构造函数和拷贝赋值运算符,如下图所示. ...

最新文章

  1. 【蓝桥杯Java_C组·从零开始卷】第三节(附)、for循环练习题(数据题与图形题)
  2. oppo r17听筒测试软件,【OPPOR17评测】ColorOS变智能 OPPO R17堪称生活小秘书(全文)_OPPO R17(6GB RAM/全网通)_手机评测-中关村在线...
  3. python socket send_python socket 连续send,出现粘包问题
  4. python 雪花id_基于python实现雪花算法过程详解
  5. hadoop连接远程mysql_Hadoop之Hive本地与远程MySQL数据库管理模式安装手册
  6. java main传入参数_Main方法中传入参数
  7. 计算机二级晓云是企业人力,全国计算机二级MsOffice真题试卷wore
  8. 前后端整合---请求
  9. 5. PDO 数据库封装
  10. 网易云课堂Java模拟面试笔记(31-40)
  11. MCU芯片缺货涨价 国内厂商机遇和挑战并存
  12. 数据库系统的体系结构
  13. 高新技术企业补贴政策能通过吗?高新企业补贴什么时候发放
  14. SQL-SQL函数(二)Scalar 函数
  15. 前端日期时间处理建议使用Momen
  16. GitHub如何配置SSH Key
  17. vc按钮按下后变灰(不能再按)
  18. 机器学习预测的概率如何表示?
  19. 台式电脑系统还原具体操作方法
  20. 八十年代的程序员们和略显悲情的故事

热门文章

  1. (十二)springmvc+mybatis+dubbo+zookeeper分布式架构 整合 - zookeeper注册中心安装
  2. 那些年Android黑科技③:干大事不择手段
  3. 【递推DP】POJ1163The Triangle
  4. Hadoop学习笔记(8) ——实战 做个倒排索引
  5. Linux运维工程师必备技能
  6. Dynamips/Dynagen模拟CISCO路由环境
  7. 第二话 最最最简单的计算机
  8. ossim-agent代理和要监控的服务器的配置
  9. Python高阶函数(map,reduce,filter)
  10. datagrid行内编辑时为datetimebox