我正在使用这样的东西:
std::vector<std::array<double, 3>> myarray;
但是当我想在数组中添加新元素时,我尝试使用
myarray.push_back({0, 0 ,0});
它不能用VS2012编译。
那么如何使用std :: array作为std :: vector的元素?
谢谢。
答案 0 :(得分:2)
你好运,我担心:VS2012不支持大括号初始化。
请注意,您的代码是有效的C ++ 11。
答案 1 :(得分:0)
我确定push_back中缺少_是一个错字。
问题是VS2012。使用VS2013或支持C ++ 11的编译器,或显式初始化新元素。
答案 2 :(得分:0)
你必须做很多事情。
std::array<double, 3> a; // Maybe you can use brace initialization here? Not sure
a[0] = 1;
a[1] = 5;
a[2] = 0;
myarray.push_back(a);