【发布时间】:2015-07-10 07:15:35
【问题描述】:
我相信现代 C++ 初始化器列表对于初始化对象非常有用,以至于无需定义自己的构造函数:
struct point
{
float coord[3];
};
point p = {1.f, 2.f, 3.f}; // nice !
但是,当我的类从另一个类继承时,这不起作用:
template<typename T>
class serializable
{
protected:
serializable() = default;
...
// other stuff
}
struct point : public serializable<point>
{
float coord[3];
};
point p = {1.f, 2.f, 3.f}; // Doesn't work :(
我尝试将point() = default; 添加到我的点数课程中,但这也不起作用。如何仍然使用初始化列表初始化点?
【问题讨论】:
标签: c++ c++11 inheritance initializer-list list-initialization