请问大家是不是继承了CObject的类,就不能做为函数的参数?
我写了这样一个方法:
int FindItem(CStringArray pstrArray,CString strSource)
{
    retun -1;
}
编译可以通过,如果使用了该方法就会报错:
cannot convert parameter 1 from 'class CStringArray'to 'class CStringArray'
No copy constructor available for class 'CStringArray'
但是如果这样写就可以通过
int FindItem(CStringArray* pstrArray,CString strSource)
{
    retun -1;
}
CStringArray 是继承了CObject的,而CString没有继承CObject
为什么啊?

因为为了防止浅拷贝,CObject把拷贝构造函数和和=操作符声明成private类型的了,外部不能调用,所以不能用拷贝对象的方式当参数。可以用引用,如const CStringArray&。
private:
CObject(const CObject& objectSrc);              // no implementation
void operator=(const CObject& objectSrc);       // no implementation

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. VC++ error C2248: “CObject::CObject”: 无法访问 private 成员(在“CObject”类中声明)

    在使用诸如:CArray或是 CList等类时,经常会出现此错误 此错误的原因是由于自定义的类的数组项时 有一个操作如  Add()  在这个操作中,实际上需要一个 = 操作,但是这个 =操作在 自定 ...

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

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

最新文章

  1. 细思极恐!只需54块钱,你也能让AI伪造一系列联合国发言
  2. nginx实现防止ddos攻击
  3. 基于matlab实现的人脸检测
  4. AngularJS+Jersey下载excel
  5. 建好ftp服务器后怎么从客户端更改密码?
  6. ubuntu 的使用
  7. java 根据类名示例化类_Java收集器类– 18个示例
  8. ubuntu 1804.1 升级失败:Hash Sum mismatch
  9. 《数据结构题集》2.12
  10. 移动通信发展史及原理学习
  11. VCF虚拟融合架构--企业IT基础架构建设新趋势-李飞 秦贵松 (VCF 虚拟融合架构 )
  12. python统计字符串字母个数_python如何统计字符串中字母个数?_后端开发
  13. GCC Manual
  14. 山东农业大学计算机复试,山东农业大学复试录取分数线
  15. 【历史上的今天】11 月 21 日:第一个阿帕网连接建立;乐视网成立;爱迪生发明留声机
  16. Redis从入门到入坟系列文章(一): keys 命令
  17. 利用requests库批量下载PDF文件
  18. 【概率论】贝叶斯法则
  19. SQL中查询MySQL的版本
  20. 电气专业c语言要学得非常好吗,电气自动化专业需要学C语言吗?

热门文章

  1. sql游标循环结果集
  2. 理解一下策略模式,工厂模式
  3. (转载)Android content provider基础与使用
  4. 关闭防火墙linux 16.04,如何在Ubuntu 16.04上配置和设置防火墙
  5. dedecms调用日期格式化形式大全
  6. MATLAB编程与应用系列-第3章 矩阵运算(4)
  7. web渗透测试思路浅谈-----漏洞发现及利用
  8. spring加载classpath与classpath*的区别别
  9. 用 python 实现各种排序算法(转)
  10. 我所知道的Javascript