【发布时间】:2019-07-30 08:05:52
【问题描述】:
我有:
struct DisplayConfig {
int width;
int height;
int colorDepth;
};
还有另一个聚合:
struct DisplayResolution {
int width;
int height;
};
我希望他们喜欢:
DisplayResolution resolution{1920, 1080};
DisplayConfig config{r, 32};
这不起作用。
将DisplayConfig 更改为:
struct DisplayConfig {
DisplayResolution resolution;
int colorDepth;
};
可以,但不能更改DisplayConfig,访问config.width 也不再有效。
DisplayConfig{r.width, r.height, 32}; 确实有效,但与以下类似:
DisplayConfig config{r, 32};
可能吗?
【问题讨论】:
-
没有。对不起。这是不可能的。
-
如果更改
DisplayConfig是一个选项,那么您可以让它从DisplayResolution继承以保持config.width并允许聚合初始化...
标签: c++ c++14 aggregate-initialization