- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了我的类(class) CData
并将其派生自 CObject
,因为我需要对其进行序列化。
class CData : public CObject
{
DECLARE_SERIAL(CData);
public:
CData();
virtual ~CData();
virtual void Serialize(CArchive& ar);
//Data
CString m_strName;
ULONG m_ulID;
CString m_strCorps;
CPoint m_Coordinate;
short m_sStatus;
};
我使用了 vector<CData>
类型的 vector 在我的文档类中。我在程序运行期间使用 vecData.push_back(Data)
将新的 CData 对象添加到 vector 中(其中 Data 是 CData 类型)。
但是当我尝试编译它时,出现以下错误:
error C2248: 'CObject::CObject' : cannot access private member declared in class 'CObject'
我搜索了一下,发现它与不可复制的 CObject 类有关!?!?...
有谁知道如何解决这个问题?
最佳答案
CObject
将复制构造函数声明为 private
,因此您需要自己为您的类实现复制构造函数(和赋值运算符重载)。 CObject
constructor documentation说:
The standard C++ default class copy constructor does a member-by-member copy. The presence of the private CObject copy constructor guarantees a compiler error message if the copy constructor of your class is needed but not available. You must therefore provide a copy constructor if your class requires this capability.
希望对您有所帮助!
关于c++ - Derive from CObject for serialization results a compiler error for access,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8029635/
我的问题是: 错误 1 错误 C2248:“CObject::CObject”:无法访问类“CObject”中声明的私有(private)成员 c:\program files\microsoft
我正在尝试在 Visual Studio 中将项目从 c++11 迁移。我修复了一些问题,但还有一个问题我似乎无法用 MFC 破解: error C2248: 'CObject::CObject' :
我正在尝试让类负责在灰色背景上放置一些文本: 得分.h #pragma once class Score { public: Score(); ~Score(); void U
这个问题在这里已经有了答案: 关闭 12 年前。 Possible Duplicate: error using CArray 重复:error using CArray 所以,我正在尝试像这样使用
尝试将函数参数中的 CTypedPointerList 实例从一个类发送到另一个类时发生此错误。 如何解决这个问题? 这是我的代码 对象列表.h #pragma once #include "LogD
我的任务是移植一些遗留代码,在这样做的过程中,我想尽可能地遵循最佳实践,因为遗憾的是我的前任没有这样做。以下是我遇到的问题的基本框架: class Foo : public CPropertyPage
我想使用多态和抽象类 CObject 来实现 CWindow 和其他元素。但是我收到错误“分配抽象类类型‘CObject’的对象”。 class CObject { public: C
默认禁用MFC根对象CObject的拷贝构造函数和赋值。 在 MSDN 中,有一个 description The standard C++ default class copy constructo
我想在我的菜单中创建一个下拉登录表单,如本例所示:http://bootsnipp.com/snippets/featured/fancy-navbar-login-sign-in-form 我有这个
我想在我的菜单中创建一个下拉登录表单,如本例所示:http://bootsnipp.com/snippets/featured/fancy-navbar-login-sign-in-form 我有这个
我正在使用 fluidcontent,我想在内容元素中呈现一个插件。因此,我创建了以下 COA: form = COA form { 15 渲染过程运行良好。 问题是我无法访问 COA 对
我使用 NLTK 和 svmlight python 库训练了一个 SVM 分类器,当我调用 pickle.dump(my_classifier, outfile, 1) 为了保存我的分类器,它抛出了
通常大多数 MFC(基于窗口的类)都派生自 CObject。CObject 是做什么的?为什么某些 MFC 类不需要从 CObject 派生? 最佳答案 根据 MSDN CObject主要提供了这些功
我创造了: class CMap:{ public std::deque obiekty; } class CBullet{ public: int damage; } 并且我添加了不同类型的元素(例
class EventDataValue { public: enum Types { NONE, INT, STRING, D
我正在尝试为 CStringArray 创建一个复制构造函数。编译代码后,Visual Studio 给了我这个错误:无法访问在类“CObject”中声明的私有(private)成员 在 exampl
如果我尝试定义一个 GUI 按钮 CButton,例如 CButton btn;,我会得到一个错误-> 因为我试图将它放在堆栈上 但是如果我执行 CButton *btn = new CButton(
我创建了我的类(class) CData并将其派生自 CObject ,因为我需要对其进行序列化。 class CData : public CObject { DECLARE_SERIAL(
我需要使用 MFC 序列化机制来序列化 Product 类的对象: class Product : public CObject { protected: string name; i
我收到一个奇怪的错误,告诉我在简单地尝试将 CStringArray 传递给我编写的将其分解成多个部分的函数时,我无法访问类“CObject”中声明的私有(private)成员。我已经注释掉了我的整个
我是一名优秀的程序员,十分优秀!