问题标签 [member-initialization]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
37 浏览

c++ - 使用具有先前默认成员初始化变量的默认成员初始化程序是否合法?

以下代码在使用时毫无疑问会失败:

因为我们在a定义它之前尝试使用它并且由于[class.base.init]/13.3

然后,非静态数据成员按照它们在类定义中声明的顺序进行初始化(同样不管mem-initializers的顺序)。

但是这段代码呢?

13.3 在这里似乎也很合理(使代码明确定义),但是我不确定它是否涵盖了上面清单中的情况,因为它提到了 mem-initializers 但错过了这个特定情况(IMO)。我承认这可能只是缺乏英语技能,所以我更愿意问。

标准中引用的段落是否使代码

  1. 定义明确(我的猜测)
  2. 未定义的行为
  3. 或者它是错误的段落?如果是这样,请指出我正确的位置。
0 投票
1 回答
2194 浏览

c++ - 如何修复派生类给出“声明没有存储类或类型说明符”错误?

我正在尝试在派生类中初始化基类变量,但是却出现错误:

我一直在修改 Visual Studio 中的 C++ 继承和派生类。我用变量制作了主类“ Foodprotected并想派生一个类“ Bread

当尝试在“ Bread,”中初始化所述变量时,VS 会出错。我觉得这是一个非常简单的问题,我不知何故错过了。

我会除了Bread要初始化的变量: nameas ""(空),costas“ 5”,caloriesas“ 200”。

输出是一个错误:

0 投票
2 回答
207 浏览

c++ - 是否允许在默认成员初始化程序中调用非静态成员函数?

考虑这个类:

它打印预期的42 42. 标准是否允许在默认成员初始化程序中调用成员函数?

以下我希望是未定义的:

不幸的是,它编译时没有警告

0 投票
2 回答
84 浏览

c++ - 为什么这里无法访问枚举?

这是我的代码/命名空间

现在,如果我在另一个结构中尝试此代码:

它工作得很好,但如果我试试这个:

它说'myNamespace::MyType::ASD2' is not a type

既然都已经声明过了,为什么会这样呢?

0 投票
1 回答
91 浏览

c++ - 从子类构造函数中构造基类的问题

我有2节课。由于 Doctor 将被视为 Employee,我应该在 Doctor 类中使用 Employee 类函数。Doctor 类唯一额外的东西是TITLE。基本上,我尝试的是我想向 Doctor 的构造函数发送值,设置标题然后将剩余的值发送到 Employee 的类;但是,我不能。这是我到目前为止所做的,

雇员.h

员工.cpp

医生.h

医生.cpp

主文件

0 投票
1 回答
22 浏览

c - Motive :此代码旨在为结构定义内的结构成员提供默认值

这是我的代码:

错误:

问题:

我尝试了这个问题一段时间,如果我像在声明结构时那样初始化结构成员的值,它会显示错误。

请告诉我这有什么问题?

0 投票
2 回答
288 浏览

c++ - 用不同的基类值初始化继承类中的成员

假设我有一个Entity带有变量的类,它在该类x中定义。0

好吧,然后我创建了一个派生类Player,但我希望默认情况下Player继承的是而不是,所以我创建的每个默认情况下都是。x10Playerx1

这可能吗?

如果是,我该怎么做?

0 投票
2 回答
215 浏览

c++ - 具有成员初始化的类的实现文件 (.cpp)

我的问题一定很简单,但我找不到正确的方法将具有初始化成员的构造函数拆分为 .h 和 .cpp (定义和实现)文件。

如果,比如说,我有:

如何在 .cpp 文件中实现构造函数?如果在成员初始化之后(在头文件中)我放了分号 - 编译器会抱怨。如果我保留 { },.cpp 文件将重新定义构造函数,这也是错误的。当然,我可以明确地写下定义。所以.h文件是:

和 .cpp :

但是有没有办法将成员初始化保留在头文件中?提前致谢!另外,在专业编码中,什么是首选?

0 投票
0 回答
35 浏览

c++ - “Ninja”类没有任何名为“Damage”的字段

基类:

派生类:

编辑:嘿,我一直在前面提到的代码上收到“类'Ninja'没有任何名为'Damage”的字段,还有HealthPoints(对不起,这句话在发布问题后被删除)

我尝试指向 Damage 和 HealthPoints( * ,this,&) 但我在 '*' 标记之前得到了“预期的标识符。它工作的唯一方法是正常初始化它们,但是如果我想要 const Damage 怎么办?

0 投票
3 回答
57 浏览

c++ - 为什么在 ctor 中不允许访问成员对象的成员?

类边缘:

在 ctorexplicit Edge(const int idist, Node& end1, Node& end2)中,为什么我不允许使用语法?: