error C2248: “CObject::CObject”: 无法访问 private 成员(在“CObject”类中声明) [问题点数
请问大家是不是继承了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”类中声明) [问题点数相关推荐
- qt程序报错error C2248: “ThreadTest::ThreadTest”: 无法访问 private 成员(在“ThreadTest”类中声明)
问题: 在qt程序中新增一个类,未继承任何类,后来增加继承类的时候,添加继承类和Q_OBJECT宏后编译报错: error C2248: "ThreadTest::ThreadTest&qu ...
- 错误 C2248 “Bus::operator ()”: 无法访问 private 成员(在“Bus”类中声明)
vocter容器在使用algorithm的find以及find_if中出现的无法访问private成员变量问题 vector<Bus>bus class Bus { private:int ...
- 05-----关于C++使用VS时出现 error C2248: “xxx“ 无法访问private成员(在“MySpdlog“类中声明)
一 问题描述 项目中遇到一下问题,需要写个测试程序,但是在搭建的过程中,出现错误的,心想,代码一样的,怎么就报错了呢.于是开始查找问题. 错误如下: 因为我的测试程序文件不算多,就5个,代码也不多,于 ...
- “CObject::operator =”: 无法访问 private 成员(在“CObject”类中声明)
c++工程编译报错: "CObject::operator =": 无法访问 private 成员(在"CObject"类中声明) 错误无法直接定位源码位置,网 ...
- c++编译报错 error c2248: “xxx:xxx“:无法访问private成员(在“xxx“类中声明)
在定义类时,将构造函数放在了private或protected里面,编译时都会出现类似错误 t.cpp class Ca{private:Ca(){} }; int main(){Ca a;retur ...
- error C2248: “CObject::CObject”: 无法访问private 成员(在“CObject”类中声明)
MFC编程时遇到此问题,原因和解决方法如下: 问题代码: BayesTest bTest(m_ModelPath); BayesCategoryTest(bTest, m_ ...
- 关于“C2248 QString::QString 无法访问private成员的问题”
直接上图: 第252行,想通过const char* 在QJsonArray中定位相应的QJsonObject对象出来,就报了这个错. 网上找找,遇到这个问题的人很少,没什么回答.但有位哥们儿言简意赅 ...
- VC++ error C2248: “CObject::CObject”: 无法访问 private 成员(在“CObject”类中声明)
在使用诸如:CArray或是 CList等类时,经常会出现此错误 此错误的原因是由于自定义的类的数组项时 有一个操作如 Add() 在这个操作中,实际上需要一个 = 操作,但是这个 =操作在 自定 ...
- error C2248: “CObject::CObject”: 无法访问 private 成员(在“CObject”类中声明)
原因 首先说明原因,这是由于对CObject对象进行直接拷贝导致的,在MFC中,大部分对象都是继承自CObject.然而,CObject对象没有实现拷贝构造函数和拷贝赋值运算符,如下图所示. ...
最新文章
- 细思极恐!只需54块钱,你也能让AI伪造一系列联合国发言
- nginx实现防止ddos攻击
- 基于matlab实现的人脸检测
- AngularJS+Jersey下载excel
- 建好ftp服务器后怎么从客户端更改密码?
- ubuntu 的使用
- java 根据类名示例化类_Java收集器类– 18个示例
- ubuntu 1804.1 升级失败:Hash Sum mismatch
- 《数据结构题集》2.12
- 移动通信发展史及原理学习
- VCF虚拟融合架构--企业IT基础架构建设新趋势-李飞 秦贵松 (VCF 虚拟融合架构 )
- python统计字符串字母个数_python如何统计字符串中字母个数?_后端开发
- GCC Manual
- 山东农业大学计算机复试,山东农业大学复试录取分数线
- 【历史上的今天】11 月 21 日:第一个阿帕网连接建立;乐视网成立;爱迪生发明留声机
- Redis从入门到入坟系列文章(一): keys 命令
- 利用requests库批量下载PDF文件
- 【概率论】贝叶斯法则
- SQL中查询MySQL的版本
- 电气专业c语言要学得非常好吗,电气自动化专业需要学C语言吗?