-5
我有一个内部未命名结构的结构。我想初始化整个结构,它是类初始化列表中的成员结构。如何在C++类的初始化程序列表中初始化具有未命名结构的成员结构?
struct Foo {
int z;
struct {
double upper;
double lower;
} x, y;
};
class Bar {
Bar();
Foo foo;
};
可以这样做吗?
此结构还可以初始化“旧时尚”的方式提供一个没有统一初始化语法的构造函数吗?
struct Foo {
Foo() : z(2), x(/*?*/), y(/*?*/) {}
Foo() : z(2), x.lower(2) {} // doesn't compile
int z;
struct {
double upper;
double lower;
} x, y;
};
。你有没有尝试过,你是如何失败的? – Rakete1111
你的内部结构定义是一个**未命名的结构**一个匿名结构略有不同,请参阅这里的区别:https://stackoverflow.com/a/14248127/8051589。 –
我很抱歉将未命名的结构与匿名混淆。我不知道新的C++ 11统一初始化语法。我改进了有关没有大括号的初始化的问题。 –