【发布时间】:2013-08-20 16:41:49
【问题描述】:
我正在学习c++。 我有一个这样的结构:
struct Info {
const Long rate;
A* ptr;
}
我有一个构造函数,它将所有参数作为其参数来初始化结构。但是,这个结构是另一个类的一部分,它将使用 boost 序列化进行序列化。为了序列化该类,我需要该结构的默认构造函数。但是,当我尝试编写默认构造函数时,例如
Info () {
}
我收到一个错误 C2758,表示应在构造函数中初始化成员费率。 如何为这样的结构获取默认构造函数,我可以用它来序列化我的类。
【问题讨论】:
-
你错过了一个;在你的结构声明之后。您还应该将构造函数(声明)放在结构中。你能提供一个更好的例子来说明什么不起作用吗?
-
Long是用户定义的类型吗? -
你也能展示一下你的 Long 类吗?
-
const成员通常不是一个好主意。他们带来的问题往往多于解决的问题(提醒我,他们到底解决了什么问题?)