-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統一初始化語法。我改進了有關沒有大括號的初始化的問題。 –