从C ++ 11开始,可以在类定义中初始化成员变量:
class Foo {
int i = 3;
}
我知道我可以像这样初始化std :: array:
std::array<float, 3> phis = {1, 2, 3};
如何在类定义中做到这一点?以下代码给出错误:
class Foo {
std::array<float, 3> phis = {1, 2, 3};
}
GCC 4.9.1:
error: array must be initialized with a brace-enclosed initializer
std::array<float, 3> phis = {1, 2, 3};
^ error: too many initializers for 'std::array<float, 3ul>'
您需要另外一组大括号,这是不直观的。
std::array<float, 3> phis = {{1, 2, 3}};
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句